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

BernieNoel68 97 Messages postés vendredi 12 octobre 2007Date d'inscription 20 novembre 2009 Dernière intervention - 2 nov. 2007 à 15:26 - Dernière réponse : BernieNoel68 97 Messages postés vendredi 12 octobre 2007Date d'inscription 20 novembre 2009 Dernière intervention
- 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
BernieNoel68 97 Messages postés vendredi 12 octobre 2007Date d'inscription 20 novembre 2009 Dernière intervention - 2 nov. 2007 à 16:16
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...

Merci BernieNoel68 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes 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.