Bonjour à tous.
Pour une de mes magnifiques applications, je dois pouvoir accéder en écriture à des fichiers texte (peut-être par la suite à des fichiers de type tableau).
J'ai donc décidé de me pencher sur OLE avec Word. Avec l'aide de la FAQ et du forum, je n'ai eu aucun problème pour faire ce que je désirais pour le moment, c'est à dire :
-Ouvrir un fichier existant
-Modifier le texte d'un fichier existant à certains endroits (signet)
-Ajouter une image à certains endroit (signet)
-Fermer un fichier en le sauvegardant
Maintenant (après avoir posé le décor de mes aventures codesques), j'aimerais pouvoir faire la même chose avec OpenOffice.
En me basant sur la FAQ Delphi et sur certains posts de Blondelle, j'arrive à ouvrir OpenOffice avec un document vierge et à le ferme mais je n'arrive pas à ouvrir un document existant
Voici mon code :
A l'exécution, j'ai droit à une magnifique erreur Type de variable incorrect.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 try { vOOoOpenOffice = CreateOleObject("com.sun.star.ServiceManager"); } catch (...) { // si on passe ici c'est qu'il y a une erreur } if (VarType(vOOoOpenOffice) == varDispatch) vOOoDesktop = vOOoOpenOffice.OleFunction("createInstance", "com.sun.star.frame.Desktop"); int Bounds[2] = {0,-1}; vOOoLoadParams = VarArrayCreate(Bounds, 1, varVariant); //ouverture fichier existant AnsiString FileName = "file:///"; FileName += ExtractFilePath(Application->ExeName); FileName += "test.odt"; FileName = StringReplace(FileName,"\\","/",TReplaceFlags()<< rfReplaceAll << rfIgnoreCase); vOOoDocument = vOOoDesktop.OleFunction("LoadComponentFromURL",FileName,"_blank",0,vOOoLoadParams);
Si quelqu'un a une solution, je suis preneur
J'aimerais également trouver les méthodes pour insérer du texte et une image et aller à un signet.
Merci d'avance![]()
Partager