AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Office 2010 und Delphi-7

Ein Thema von hesch21 · begonnen am 8. Okt 2013 · letzter Beitrag vom 9. Okt 2013
Antwort Antwort
hesch21

Registriert seit: 31. Aug 2004
Ort: Basel
114 Beiträge
 
Delphi XE2 Enterprise
 
#1

AW: Office 2010 und Delphi-7

  Alt 9. Okt 2013, 08:49
Habe ja ein dickes Fell !

Lieber Morphie, das funktioniert prächtig! Ich bekomme ein wunderschönes LEERES PDF. Logisch, mit WordDoc := WordApp.Documents.Add; wird ein neues Dokument erstellt und dann gespeichert.
Nun, ich bin auch schon selbst auf die Idee gekommen, das mit einen WordDoc := WordApp.Documents.Open(FileName := FileName); zu ersetzen was sogar funktionieren würde wenn da nicht noch zwei kleine Details wären:
1. Die Datei FileName ist bereits anderweitig über die Wrapper-Funktionen mit Word geöffnet
2. Sie ist zudem mit einer CSV-Datei als Seriendruck-Datei verknüpft und ich will immer nur vom gerade aktuellen Seriendruck-Datensatz eine PDF-Datei erstellen

Ihr dürft mich ja ruhig an den Bahnhof stellen denn ich habe wirklich keine Ahnung von Word-Anbindung über OLE. Habe bisher immer die Delphi-Wrapper-Funktionen benutzt. Deshalb versuche ich seit gestern auch vergebens, die MailMerge-Funktion, also die CSV-Datei einzubinden.
Heinz Schneider
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#2

AW: Office 2010 und Delphi-7

  Alt 9. Okt 2013, 08:52
Zeig doch mal, wie du es bisher gemacht hast... (Code)
Das sollte dann über Ole auch so funktionieren...
  Mit Zitat antworten Zitat
hesch21

Registriert seit: 31. Aug 2004
Ort: Basel
114 Beiträge
 
Delphi XE2 Enterprise
 
#3

AW: Office 2010 und Delphi-7

  Alt 9. Okt 2013, 09:15
Delphi-Quellcode:

var lSaveDoc : OleVariant;
var lSaveApp : OleVariant;
var lSaveMail : OleVariant;

begin
  lSaveApp := CreateOleObject('Word.Application');
  lSaveDoc := lSaveApp.Documents.Open(FileName := FileName);
  lSaveMail := lSaveDoc.MailMerge.OpenDataSource(NamCSV);
  lSaveDoc.SaveAs2(FileName := DokVerz + '\' + NewFile, FileFormat := 17);
  lSaveApp.Quit;
end;
Das funktioniert, es kommt aber immer eine Meldung, die CSV-Datei sei bereits offen, ob man mit einer Kopie arbeiten wolle. Ausserdem fehlt noch irgendwie die wirkliche Verbindung den abgespeichert wird in der PDF die Vorlage und nicht die Datei mit den Werten aus der CSV-Datei.
Heinz Schneider
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#4

AW: Office 2010 und Delphi-7

  Alt 9. Okt 2013, 09:18
Hast du vielleicht irgendwo im Hintergrund (Taskmanager > Reiter "Prozesse") noch WinWord.exe oder sowas geöffnet?
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:47 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