PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Word-Bookmarks in C/C++


Eminent
2005-05-06, 07:38:50
Hallo,

also erstmal zum Umfeld meines Problems:

Wir haben hier eine Java-Anwendung, die über eine in C geschriebene OfficeLink-Schnittstelle Word aufruft und an Textmarken dann bestimmte Texte schreibt.

Das Problem ist, dass die Textmarken dann ersetzt werden durch den Text, die Textmarken also dann aus dem Dokument verschwunden sind.

Es ist aber gewünscht, dass die Textmarken bestehen bleiben. In VBA ist dies ohne Probleme möglich, mit der OfficeLink-Schnittstelle leider aber nicht.

Wir haben hier leider keinen C-Programmierer, der die Schnittstelle weiter anpassen könnte und ich habe bis jetzt auch keine besser Möglichkeit gefunden.

Könnt ihr mir vielleicht weiter helfen?

Hier ist der Auszug aus dem C-Quelltext:

while (MarkenListe.GetCount()>0)
{
oleVar1 = (short)1;
Marke = MarkenListe.Item(oleVar1);
csText = Marke.GetName();
st.Format("Bookmark: %s", csText);

// bookmarks nach csText durchsuchen
for(i=0; i<numB; i++)
{
if(bookmarks.GetAt(i) == csText)
{
mRange = Marke.GetRange();
st.Format("Marke <%s> gesetzt auf: %s ", csText, values.GetAt(i));
mRange.SetText(values.GetAt(i));
// Bookmark wird überschrieben, daher ändert sich
// die Bookmark-Liste dynamisch
found[i] = 1;
break;
}else{
//st.Format("Verschieden: %s %s", bookmarks.GetAt(i), csText);
}
}
//if(j < 0 ){ // Marke wurde nicht gefunden
if(i==numB)
{
st.Format("Nicht gefunden: %s ", csText);

// Um Endlosschleife zu vermeiden:
Marke.Delete();
// Nach fachlicher Festlegung werden zusätzliche Bookmarks im
// Dokument nicht als Fehler gewertet.
}
}

Danke schon jetzt mal!

Gruß
Eminent