AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Einige Daten werden in der Vcard nicht angezeigt, MS-Office 2007

Einige Daten werden in der Vcard nicht angezeigt, MS-Office 2007

Ein Thema von onk · begonnen am 21. Apr 2019 · letzter Beitrag vom 21. Apr 2019
Antwort Antwort
onk

Registriert seit: 12. Aug 2008
Ort: Berlin-Lichterfelde
8 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Einige Daten werden in der Vcard nicht angezeigt, MS-Office 2007

  Alt 21. Apr 2019, 08:27
Hallo liebe Delphi-Freunde,

ich arbeite mit RAD Studio Seattle Pro und MS-Office 2007.

ich möchte von meinem Programm aus Vcards erzeugen und diese in den Outlook-Kontakten übernehmen.
Die Infos habe ich von den folgenden Webseiten:

https://de.wikipedia.org/wiki/VCard

http://wiki.christian-stankowic.de/d...rd#anwendungen

Was ich nicht verstehe, die E-Mail wird z.B. angezeigt, aber die Webadresse bleibt leer, steht aber in der Visitenkarte.
Die Festnetznummer und die Mobilnummer werden angezeigt, nicht aber die Faxnummer. Auch bleibt die Anschrift leer. Im Source der Vcard ist alles eingetragen.



Das ist der Source der Vcard:

BEGIN:VCARD
VERSION:4.0
FN:Musti Mustermann
ORG:Mustermann AG
TITLE:Bürohonk
TEL;TYPE=work:22 55 22 66
TEL;TYPE=fax:22 55 22 67
TEL;TYPE=cell:0177 / 1 10 22 55 22
X-MS-OL-DEFAULT-POSTAL-ADDRESS:0
EMAIL:m.mustermann@test.de
URL:www.mustermann.de
ADR;TYPE=work;LABEL="Mustermannstr. 33\n12203 Berlin"
:;;Mustermannstr. 33;Berlin;12203n\Deutschland
note:Ich bin Mustermannfähig.
REV:20140301T221110Z
END:VCARD





Delphi-Quellcode:

              festnetz:=dapc.FieldByName('TelefonFirma').asstring;
              Position:=dapc.FieldByName('Position').asstring;
              notizen:=dapc.FieldByName('notizen').asstring;
               anrede:=dapc.FieldByName('anrede').asstring;
               vorname:=dapc.FieldByName('vorname').asstring;
               nachname:=dapc.FieldByName('nachname').asstring;
               firma:=dapc.FieldByName('firma').asstring;
               email:=dapc.FieldByName('email').asstring;
               webseite:=dapc.FieldByName('webseite').asstring;
               fax:=dapc.FieldByName('fax').asstring;
               mobil:=dapc.FieldByName('mobiltelefon').asstring;
               strasse:=dapc.FieldByName('strasse').asstring;
               plz:=dapc.FieldByName('plz').asstring;
               ort:=dapc.FieldByName('ort').asstring;


  pfad:=ExtractFilePath(Application.ExeName) + '\vcard.txt';


            if FileExists(pfad) then
              DeleteFile(pfad);

            if not FileExists(pfad) then
            begin
              AssignFile(tFile, pfad);
              ReWrite(tFile);
              WriteLn(tFile, 'BEGIN:VCARD');
              WriteLn(tFile, 'VERSION:4.0');
// WriteLn(tfile,'N;LANGUAGE=de:'+ name + ''); // Wenn ich das auskommentiere, wird im Outlook Editfeld "Speichern unter" form1 angezeigt
                                                            // wenn ich das ingnoriere werden korrekt der Nachname, das Komma und der Vorname angezeigt
              WriteLn(tFile, 'FN:' + vorname + ' ' + nachname + '');
              WriteLn(tFile, 'ORG:' + firma + '');
              WriteLn(tFile, 'TITLE:' + Position + '');
              WriteLn(tFile, 'TEL;TYPE=work:' + festnetz + '');
              WriteLn(tFile, 'TEL;TYPE=fax:' + fax + ''); //Wird nicht angezeigt
              WriteLn(tFile, 'TEL;TYPE=cell:' + mobil + '');
              WriteLn(tFile, 'X-MS-OL-DEFAULT-POSTAL-ADDRESS:0');
              WriteLn(tFile, 'EMAIL:' + email + '');
              WriteLn(tFile, 'URL:' + webseite + ''); // Wird nur in der Visitenkarte angezeigt
              WriteLn(tFile, 'ADR;TYPE=work;LABEL="' + strasse + '\n' + plz + ' ' + ort + '"'); // Wird nicht angezeigt
              WriteLn(tFile, ':;;' + strasse + ';' + ort + ';' + plz +
                'n\Deutschland');
              WriteLn(tFile, 'note:' + notizen + '');
              WriteLn(tFile, 'REV:20140301T221110Z');
              WriteLn(tFile, 'END:VCARD');
              closefile(tFile);
            end;

Ich bedanke mich schon im Voraus für eure Unterstützung.

Vielen Dank,
Viele Grüße aus Berlin
von Onk
Michael Zimpel
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#2

AW: Einige Daten werden in der Vcard nicht angezeigt, MS-Office 2007

  Alt 21. Apr 2019, 09:26
Ich habe einmal eine VCard exportiert. Dort steht bei Webadresse:

Zitat:
Also Office nutze ich die Version 2010.

Vielleicht hilft das weiter.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
onk

Registriert seit: 12. Aug 2008
Ort: Berlin-Lichterfelde
8 Beiträge
 
Delphi 10 Seattle Professional
 
#3

AW: Einige Daten werden in der Vcard nicht angezeigt, MS-Office 2007

  Alt 21. Apr 2019, 10:03
Funktioniert, Dankeschön Zeras

Dann werde ich mal alle möglischen Varianten ausprobieren.

Wenn ich Erfolg habe, werde ich den Source und den Vcard-Source posten.

Vielen Dank
Michael Zimpel
  Mit Zitat antworten Zitat
onk

Registriert seit: 12. Aug 2008
Ort: Berlin-Lichterfelde
8 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: Einige Daten werden in der Vcard nicht angezeigt, MS-Office 2007

  Alt 21. Apr 2019, 11:34
Hallo Delphi Freunde,

also jetzt funktioniert es, hat aber zwei Makel.

In der Visitenkarte wird die Geschäftliche Telefonnummer als erstes angezeigt.
Der zweite Eintrag ist die Faxnummer und dahinter steht auch Geschäftlich.
Man erkennt nicht, dass das die Faxnummer ist.
So habe ich im Source noch ein Tel.: und ein Fax: davorgestellt.
Die Visitenkarte sieht ganz ansprechend aus, nur habe ich in den Editfeldern vor den Nummern Tel.: und Fax: zu stehen.
Das empfinde ich als Makel.


Vieleicht kennt ja jemand eine Lösung des Problems. Aber im Großen und Ganzen kann ich damit leben.

Viele Grüße aus Berlin

von

Micha(onk)




Hier der Vcard-Source:

BEGIN:VCARD
VERSION:4.0
FN:Musti Mustermann
ORG:Mustermann AG
TITLE:Bürohonk
TEL;TYPE=work:Tel.: 22 55 22 66 //Hier ist der Makel
TEL;TYPE=work,fax,voice:Fax: 22 55 22 67 // und hier auch
TEL;TYPE=cell:0177 / 1 10 22 55 22
EMAIL:m.mustermann@test.de
URL;work:www.mustermann.de
X-MS-OL-DEFAULT-POSTAL-ADDRESS:0
LABEL;TYPE=work,postal,parcel:Mustermannstr. 33\n12203 Berlin
:;;Mustermannstr. 33;Berlin;12203n\Deutschland
note:Ich bin Mustermannfähig.
REV:20140301T221110Z
END:VCARD


Hier ist der Source:

Delphi-Quellcode:
 

procedure TForm1.btVCardClick(Sender: TObject);
var pfad,pfaddesktop,komplettpfad,s,jahr:string;
firma,notizen,vorname,strasse,plz,ort,Position,anrede,nachname,email,webseite,fax,festnetz,mobil,adressdaten:String;
begin


               jahr:=formatdatetime('yymmdd',now);

               festnetz:=dapc.FieldByName('TelefonFirma').asstring;
              Position:=dapc.FieldByName('Position').asstring;
              notizen:=dapc.FieldByName('notizen').asstring;
               anrede:=dapc.FieldByName('anrede').asstring;
               vorname:=dapc.FieldByName('vorname').asstring;
               nachname:=dapc.FieldByName('nachname').asstring;
               firma:=dapc.FieldByName('firma').asstring;
               email:=dapc.FieldByName('email').asstring;
               webseite:=dapc.FieldByName('webseite').asstring;
               fax:=dapc.FieldByName('fax').asstring;
// festnetz:=dapc.FieldByName('festnetz').asstring;
               mobil:=dapc.FieldByName('mobiltelefon').asstring;
// adressdaten:=dapc.FieldByName('adressegeschäftlich').asstring;
                strasse:=dapc.FieldByName('strasse').asstring;
               plz:=dapc.FieldByName('plz').asstring;
               ort:=dapc.FieldByName('ort').asstring;


             pfad:=ExtractFilePath(Application.ExeName) + '\vcard.txt';

            if FileExists(pfad) then
              DeleteFile(pfad);

            if not FileExists(pfad) then
            begin
              AssignFile(tFile, pfad);
              ReWrite(tFile);
              WriteLn(tFile, 'BEGIN:VCARD');
              WriteLn(tFile, 'VERSION:4.0');
// WriteLn(tfile,'N;LANGUAGE=de:'+ name + ''); // Wenn ich das auskommentiere, wird im Edit speichern unter form1 angezeigt
                                                            // wenn ich das ingnoriere werden korrekt der Nachname, das Komma und der Vorname angezeigt
              WriteLn(tFile, 'FN:' + vorname + ' ' + nachname + '');
              WriteLn(tFile, 'ORG:' + firma + '');
              WriteLn(tFile, 'TITLE:' + Position + '');
              WriteLn(tFile, 'TEL;TYPE=work:' + 'Tel.: ' + festnetz + ''); // Hier ist der 1. Makel.
              WriteLn(tFile, 'TEL;TYPE=work,fax,voice:'  + 'Fax: ' + fax + ''); // Hier ist der 2. Makel.
              WriteLn(tFile, 'TEL;TYPE=cell:' + mobil + '');
              WriteLn(tFile, 'EMAIL:' + email + '');
              WriteLn(tFile, 'URL;work:' + webseite + '');
               WriteLn(tFile, 'X-MS-OL-DEFAULT-POSTAL-ADDRESS:0');
              WriteLn(tFile, 'LABEL;TYPE=work,postal,parcel:' + strasse + '\n' + plz +
                ' ' + ort + '');
              WriteLn(tFile, ':;;' + strasse + ';' + ort + ';' + plz +
                'n\Deutschland');
              WriteLn(tFile, 'note:' + notizen + '');
              WriteLn(tFile, 'REV:20140301T221110Z');
              WriteLn(tFile, 'END:VCARD');
              closefile(tFile);
            end;

                  pfaddesktop:=controler.getshellfolder(CSIDL_DESKTOP);
                    komplettpfad:=pfaddesktop + '\MZ-Handout\';
                    s:= dapc.FieldByName('firma').AsString + '_' + dapc.FieldByName('vorname').AsString + ' ' +
                        dapc.FieldByName('nachname').AsString;;

                      if directoryexists(komplettpfad) then
                             pfaddesktop:=komplettpfad + jahr + '_'  + s + '.vcf';

                             RenameFileEx(pfad , pfaddesktop );

end;
Michael Zimpel
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#5

AW: Einige Daten werden in der Vcard nicht angezeigt, MS-Office 2007

  Alt 21. Apr 2019, 20:07
Bei mir sehen die Exportdaten so aus:

TEL;HOME;VOICE:+49 xxxxxxx
TEL;CELL;VOICE:+49 xxxxxxx
TEL;WORK;FAX:+49 xxxxxxxxx

Ist doch noch ein wenig anders als bei dir.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz