Moin zusammen,
ich habe ein Datei vorlage.dotx, welche ich öffne und mit Daten fülle.
Diese Vorlage ist schreibgeschützt. Der Schreibschutz wird deaktiviert, beim Füllen der Daten.
Das klappt auch alles super. Hier der Code
Delphi-Quellcode:
const
wdAllowOnlyFormFields = $00000002; // http://www.delphigroups.info/2/d4/455196.html
..
try
{Verbindung aufbauen}
Word:=CreateOleObject('Word.Application');
except
{Schlägt sie fehl (Word nicht installiert), gibt es eine Fehlermeldung}
ShowMessage('Microsoft Word kann nicht starten.');
Screen.Cursor:=crDefault;
Exit;
end;
word.visible:=true;
word.Documents.Open(doc); // doc = vorlagen.dotx
try
word.ActiveDocument.Unprotect;
if word.ActiveDocument.Bookmarks.Exists('Titel') then
begin
r := word.ActiveDocument.Bookmarks.Item('Titel').Range;
r.InsertAfter(lbl_titel.Caption);
end;
if word.ActiveDocument.Bookmarks.Exists('Beschreibung') then
begin
r := word.ActiveDocument.Bookmarks.Item('Beschreibung').Range;
r.InsertAfter(edt_beschreibung.Text);
end;
word.ActiveDocument.Protect(wdAllowOnlyFormFields);
finally
word:=unassigned;
end;
Leider wird nicht ein docx Dokument geöffnet sondern, dass dotx Dokument und wenn man nicht aufpasst und speichert, werden die Änderungen übernommen.
Starte ich aber das dotx Dokument, macht Word ein docx Dokument auf.
Welcher Schalter fehlt mir, damit das Öffnen aus Delphi mit meinem Code aus der vorlagen.dotx ein document.docx macht?
Danke im Voraus.
Sven