C++ builder OLE et Word [Résolu]

Messages postés
97
Date d'inscription
vendredi 12 octobre 2007
Dernière intervention
20 novembre 2009
- - Dernière réponse : BernieNoel68
Messages postés
97
Date d'inscription
vendredi 12 octobre 2007
Dernière intervention
20 novembre 2009
- 2 nov. 2007 à 16:16
Bonjour!

J'ai un problème à l'utilisation de OLE avec C++ Builder.

Je souhaite acceder à des signets sous Word (Office 97) pour y inserer du texte.

J'ai suivi ce très bon tutorial.

Le problème c'est que mon programme n'arrive pas a acceder aux signet qui pourtant existe!

la fonction çi dessous retourne toujours false (alors que le signet existe bien)!
vBookMarks.OleFunction("Exists", "MySignet")

EXEMPLE:

//replissage d'une ListBox avec tout les signet du documents
int iCount;
AnsiString aBookName;
vBookMarks = vWDocument.OlePropertyGet("BookMarks");
iCount = vBookMarks.OlePropertyGet("Count");
for (int i=1; i <= iCount; i++) {
vBookMark = vBookMarks.OleFunction("Item", i);
aBookName = vBookMark.OlePropertyGet("Name");
ListBox1->Items->Add(aBookName);
vBookMark = Unassigned;
}

// [..]

vBookMarks = vWDocument.OlePropertyGet("BookMarks");
if (vBookMarks.OleFunction("Exists", ListBox1->Items->Strings[1])) <= FAUX !! alors que le signet existe!
{
vBookMark = vBookMarks.OleFunction("Item", "signet1");
vBookMark.OleFunction("Select");
}

// [..]

vBookMarks = vWDocument.OlePropertyGet("BookMarks");
if (vBookMarks.OleFunction("Exists", "MySignet")) <= FAUX !! alors que le signet existe!
{
vBookMark = vBookMarks.OleFunction("Item", "signet1");
vBookMark.OleFunction("Select");
}

si vous avez une idée d'où vient le problème, je suis preneur!

Merci d'avance
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
97
Date d'inscription
vendredi 12 octobre 2007
Dernière intervention
20 novembre 2009
3
Merci
J'ai trouvé!

en faite il y a une petite erreur dans le tutorial!

en faite lorsque l'on fait un
if (vBookMarks.OleFunction("Exists", "MySignet") )

il ne faut pas mettre "MySignet" mais StringToOleStr( "MySignet" ) !

Si jamais ça peut aidé quelqu'un d'autre...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de BernieNoel68

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.