2010-12-01 5 views
0

Ich erstelle eine benutzerdefinierte Microsoft Word Mailmerge-Konsole-Anwendung mit C#. Mein einziges Problem versucht, den InsertSymbol-Befehl (von Microsoft.Office.Interop.Word) zu verwenden. Der Zweck besteht darin, ein markiertes Kästchensymbol einzufügen, wenn der Feldwert wahr ist, und ein leeres Feld, wenn der Feldwert falsch ist.InsertSymbol in Word mit C#

Microsoft hat eine Definition dieses Befehls here ohne konkrete Beispiele.

So wie ich auf mein Kommando festgelegt haben, ist dies: „Dies ist keine gültige Zahl“

Object oFont = "Wingdings"; 

Object oUnicode = "true"; 

Object oBias = Word.WdFontBias.wdFontBiasDontCare; 

oWord.Selection.InsertSymbol(254, ref oFont, ref oUnicode,ref oBias); 

Wenn ich versuche, diesen Befehl auszuführen, habe ich den Fehler Es gibt nicht viele Beispiele für diesen Befehl online und ich habe auf einige Ideen gehofft. Vielen Dank.

Antwort

1

Ich fand die Antwort. Mein Problem war, den Wert von oUnicode mit Anführungszeichen zu umgeben. Ich habe die Zitate entfernt und jetzt funktioniert es perfekt. Ich wollte nur wissen lassen, dass es jetzt funktioniert.

3

Vielen Dank Robert für diese Lösung teilen

Object oFont = "Wingdings"; 
Object oUnicode = true; 
Object oBias = Word.WdFontBias.wdFontBiasDontCare; 
oWord.Selection.InsertSymbol(254, ref oFont, ref oUnicode,ref oBias); 

Es funktioniert gut!

0

Nun, ich habe Ihren Code nicht zur Arbeit bekommen. Aber dann traf es mich, dass VSTO eine andere Wahrnehmung von falsch ist und wahr: Wahr ist 1 (Nummer 1) so in dem obigen Code sollten Sie Folgendes einstellen:

oUnicode = 1;//NOT "true" and that IS 1 truth 

tun, dass ich den Code bekam richtig funktioniert. Das kommuniziert auch mit der Fehlerbeschreibung ('keine gültige Nummer')