Problem mit markieren in Texten in Word mit C#

07/07/2009 - 21:27 von Norbert Grabowski | Report spam
Hi,

Ich arbeite an einem MS-Word Add-on, was Terme aus einer CSV Datei liest und
soll im aktiven Word Dokument alle Terme markieren, die zuvor aus der CSV
Datei geladen wurden. Das Markieren machen wir mit dem Codeabschnitt:

if(applicationObject.ActiveWindow.Selection.Start!=applicationObject.ActiveWindow.Selection.End)
{
applicationObject.ActiveWindow.Selection.SetRange(applicationObject.ActiveWindow.Selection.Start,applicationObject.ActiveWindow.Selection.Start);
}

if (applicationObject.ActiveWindow.Selection.Find.Execute(ref findText, ref
MatchCase, ref pMatchWholeWord, ref missing, ref missing, ref
MatchAllwordForm, ref Foreword, ref missing, ref missing, ref
replaceWith, ref missing, ref missing, ref missing, ref missing, ref
missing))
{
int iOldStart =
applicationObject.ActiveWindow.Selection.Range.Start+strOld.Trim().Length+1;
int iOldEnd = applicationObject.ActiveWindow.Selection.Range.End;
applicationObject.ActiveWindow.Selection.SetRange(iOldStart, iOldEnd);
applicationObject.ActiveWindow.Selection.Shading.BackgroundPatternColorIndex
= applicationObject.Options.DefaultHighlightColorIndex;
applicationObject.ActiveWindow.Selection.Select();
applicationObject.ActiveWindow.Selection.SetRange(iOldEnd, iOldEnd);
Result=true;
this.objLog.WriteLog(findText.ToString(),replaceWith.ToString(),DateTime.Now);
}
else
{
applicationObject.ActiveWindow.Selection.SetRange(0, 0);
}

Das Problem ist, dass die Terme zwar mit rot markiert werden im Dokument,
aber diese Markierung bekomme ich spàter schwer wieder weg. Der Hintergrund
des Begriffs wird auf rot gesetzt ("Shading.Background").
Was ich gerne machen würde, wàre nur den Text rot markieren

Da ich neu bin was C# ist würde ich gerne wissen, was ich oben machen muß,
damit der Text auf rot gesetzt wird.
Ich denke ich muß nur diese Zeile àndern:
applicationObject.ActiveWindow.Selection.Shading.BackgroundPatternColorIndex
= applicationObject.Options.DefaultHighlightColorIndex;

Ich denke mal die Kompatibiliàt von Word 2000 und höher sollte da kein
Problem sein

Gruß
Norbert
 

Lesen sie die antworten

#1 Elmar Boye
08/07/2009 - 12:38 | Warnen spam
Hallo Norbert,

Norbert Grabowski schrieb:
Ich arbeite an einem MS-Word Add-on, was Terme aus einer CSV Datei liest
und soll im aktiven Word Dokument alle Terme markieren, die zuvor aus
der CSV Datei geladen wurden. Das Markieren machen wir mit dem
Codeabschnitt:

Das Problem ist, dass die Terme zwar mit rot markiert werden im
Dokument, aber diese Markierung bekomme ich spàter schwer wieder weg.
Der Hintergrund des Begriffs wird auf rot gesetzt ("Shading.Background").
Was ich gerne machen würde, wàre nur den Text rot markieren

Da ich neu bin was C# ist würde ich gerne wissen, was ich oben machen
muß, damit der Text auf rot gesetzt wird.



Das ganze hat herzlich wenig mit C# zu tun...

In der Word Newsgroup wird man Dir wesentlich eher weiterhelfen können,
wie man eine reversible Markierung hinbekommen kann.

Dort wird man Dir vermutlich eine Lösung mit VBA pràsentieren.
Solltest Du Probleme haben, das umzusetzen, dann kann man Dir hier
sicher weiterhelfen.

Gruß Elmar

Ähnliche fragen