Je reussi a installer partiellement une macro dans un document Word et a la detruire, mais j'ai un probleme pour passer une chaine de caracteres la chaine devrait s'ecrire "coucou" mais quand elle est passee sous Word elle est ecrite coucou les guillemets ont disparus.
le code:
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
22
23
24
25
26
Variant Appli, WordDoc, WordDocs, VBComp, vFileName;
int X;

Appli = Variant::GetActiveObject("Word.Application");
vFileName = "c:\\book1.doc";
WordDocs = Appli.OlePropertyGet("Documents");
WordDoc = WordDocs.OleFunction("Open", vFileName);
// on cree un module pour du code VB
VBComp =  WordDoc.OlePropertyGet("VBProject").OlePropertyGet("VBComponents").OleFunction("Add", 1);
// on renome le module sans espaces dans le nom
VBComp.OlePropertySet("Name", "MyModule");
VBComp.OlePropertyGet("CodeModule");
// on ecrit la macro dans le module cree
        X = VBComp.OlePropertyGet("CodeModule").OlePropertyGet("CountOfLines");
        VBComp.OlePropertyGet("CodeModule").OleProcedure("InsertLines", X + 1, "Sub laMacro()");
        VBComp.OlePropertyGet("CodeModule").OleProcedure("InsertLines", X + 2, "ActiveDocument.Content.Text =  ""Coucou"" ");
        VBComp.OlePropertyGet("CodeModule").OleProcedure("InsertLines", X + 3, "End Sub");
vMSWord.OleProcedure("Run", "laMacro");
//VBComp.OlePropertyGet("CodeModule").OleFunction("Run", "laMacro");
 // les deux fonctions ci dessous provoquent une erreur
VBComp.OlePropertyGet("CodeModule").OleFunction("DeleteLines", 3);
VBComp.OlePropertyGet("CodeModule").OleFunction("DeleteLines", 2);
VBComp.OlePropertyGet("CodeModule").OleFunction("DeleteLines", 1);

WordDoc.OlePropertyGet("VBProject").OlePropertyGet("VBComponents").OleFunction("Remove", VBComp);
La ligne en rouge n'est pas correctement executee.
Si quelqu'un a une idee ?