Erhalten Sie Zellenfarbe in MS Word

In Microsoft Word kann ich ein Dokument öffnen und einen Text für eine solche Zelle (Office Interop) erhalten:

app.Tables[1].Cell(2, 2).Range.Text;

Aber ich kann keine Eigenschaft finden, die genau diese Zellenfarbe zurückgeben kann. Jede Hilfe wird geschätzt!

2

1 Antworten

Ich denke, dass Sie die Eigenschaft Shading benötigen ( app.Tables [1] .Cell (2, 2) .Shading; ).

BEARBEITEN

Um Ihren Kommentar zu adressieren: Ich glaube nicht, dass es einen besseren Weg gibt, die Farbe zu bekommen. Die BackgroundPatternColorIndex und ForegroundPatternColorIndex geben Werte der WdColorIndex-Enumeration zurück; Sie haben einen numerischen Wert, der nicht mit der RGB-Farbe zusammenhängt. Zum Beispiel hat wdRed den Wert 6 (siehe http://msdn.microsoft.com/en-us/library/bb237561 (v = office.12) .aspx für weitere Informationen).

Wenn Sie die RGB-Werte möchten, würden Sie, wie Sie vielleicht erraten haben, BackgroundPatternColor und ForegroundPatternColor anstelle von ... ColorIndex verwenden. Aber es klingt, als ob Sie nach einem String-Namen statt nach einem numerischen Wert suchen.

2
hinzugefügt
Das ist cool! Ich konnte Farbe mit diesem erhalten: wd.Tables [1] .Cell (2, 2) .Range.Shading.BackgroundPatternColorIndex.ToString (); Das einzige Problem, das ich erlebe, ist, dass es diese Zeichenfolge zurückgibt: "wdRed". Wie kann ich wd natevly loswerden? Es macht mir nichts aus, die ersten zwei Charaktere zu strippen, aber ich nehme an, dass es einen besseren Weg geben sollte.
hinzugefügt der Autor user194076, Quelle
@ user194076 Ich glaube nicht, dass es einen besseren Weg gibt. Siehe Bearbeiten.
hinzugefügt der Autor phoog, Quelle