Ouvrir et modifier un modèle Word à partir de Delphi
J'ai besoin d'être en mesure d'ouvrir et de modifier un modèle Word à partir de Delphi (à l'aide de Word)
Je peux ouvrir le modèle OK mais le Mot suppose qu'il s'agit d'un document et non pas un modèle.
Le problème est que j'ai besoin de modifier le modèle et ne pas l'utiliser en tant que modèle pour un nouveau document.
J'ai utiliser les modèles dans le cadre d'un documenthandling système et je veux que les utilisateurs soient en mesure de modifier les modèles à partir de mon application. Comme c'est maintenant qu'ils ont pour ouvrir Word et ouvrez le modèle à partir de là et de le modifier, mais le faire à partir de mon application serait plus facile et plus sûr.
Code expérimental
fWordApp: WordApplication;
TempName: OleVariant;
WordDoc: WordDocument;
TemplateFile: string;
begin
TemplateFile := Settings.Directories.RootInsert(qryTemplates.FieldByName('fldtemplate_path').AsString);
if TemplateFile <> '' then
begin
if not Assigned(fWordApp) then
begin
fWordApp := CreateOleObject('Word.Application') as WordApplication;
while fWordApp.Templates.Count = 0 do
Sleep(200); // Normal.dot must be loaded
end;
if Assigned(fWordApp) then
fWordApp.Visible := True
else
raise Exception.Create('Cannot initialize Word application');
TempName := TemplateFile;
WordDoc := fWordApp.Documents.Add(TempName, EmptyParam, wdFormatTemplate, EmptyParam);
Les Modèles Word sont ainsi des Documents Word. La différence est que l'extension et à cet effet, un comportement différent à partir de Word/Shell - double-clic sur un fichier de modèle permettra de créer un nouveau document basé sur le modèle
OriginalL'auteur OZ8HP | 2012-12-23
Vous devez vous connecter pour publier un commentaire.
Si je comprends bien, vous utilisez la mauvaise méthode. Le
Add
méthode est utilisée pour créer un nouveau document. Vous pouvez passer d'un modèle de nom de fichier pour rendre le nouveau document basé sur ce modèle.Mais vous voulez ouvrir un document existant et de le modifier. Il n'est pas question que le document est un modèle. Vous avez encore besoin de l'ouvrir. Et pour cela vous avez besoin de la
Open
méthode. Voici plutôt un exemple trivial.J'ai utilisé la liaison tardive parce que j'ai trouvé plus simple pour cet exemple. Mais vous devez vous en tenir à votre début de liaison approche. Vous aurez à naviguer sur le fait que la méthode ouverte est nécessaire d'avoir beaucoup de paramètres. Je pense que vous pouvez tout simplement passer à
EmptyParam
à tous, mais le premier paramètre.OriginalL'auteur David Heffernan
Ici il y a des milliers de Delphi fonctions pour travailler avec Word:
http://delphimagic.blogspot.com.es/2013/03/funciones-para-trabajar-con-word.html
OriginalL'auteur Carmen