VSTO 2005; Migration von VSTO 2003 Projekt

23/08/2007 - 15:28 von Oskar Vaia | Report spam
Hallo,

ich will ein Projekt in VS 2005 bearbeiten, das ich mit VS 2003 erstellt
habe.
Beim ersten Öffnen des Projektes erscheinen etliche Warnungen.
Eine davon betrifft eine scheinbare implizite Konvertierung.
Hier der Code, wie ich ihn noch unter VS 2003 geschrieben hatte:


Dim oRNG As Word.Range

Try
If appWord.ActiveDocument.Bookmarks.Exists("Firma") Then
oRNG = appWord.ActiveDocument.Bookmarks("Firma").Range
oRNG.Text = KunBec.rag_sociale.ToString
appWord.ActiveDocument.Bookmarks.Add(Name:="Firma",
Range:=oRNG)
End


In dieser Zeile
appWord.ActiveDocument.Bookmarks.Add(Name:="Firma",
Range:=oRNG)
erscheint unter VS 2005 folgende Warnung bez. dem Obj. "oRNG"

'Implizite Konvertierung von "Object" in
"Microsoft.Office.Interop.Word.Range" beim Zurückkopieren des Wertes des
ByRef-Parameters "Range" in das entsprechende Argument.'

Wenn ich die Zeile nun so àndere
appWord.ActiveDocument.Bookmarks.Add(Name:="Firma",
Range:=DirectCast(oRNG, Word.Range))
dann passt es.

Ich frage mich aber:
wieso diese explizite Konvertierung, wenn das Objekt "oRNG" ja bereits
weiter oben als Objekt vom Typ Word.Range deklariert wurde?

Dank und Grüße

Oskar
 

Lesen sie die antworten

#1 Karsten Heimer
23/08/2007 - 15:44 | Warnen spam
"Oskar Vaia" schrieb im Newsbeitrag
news:
Hallo,

Beim ersten Öffnen des Projektes erscheinen etliche Warnungen.
Eine davon betrifft eine scheinbare implizite Konvertierung.
Hier der Code, wie ich ihn noch unter VS 2003 geschrieben hatte:


Dim oRNG As Word.Range

oRNG = appWord.ActiveDocument.Bookmarks("Firma").Range



Vermutlich gibt "appWord.ActiveDocument.Bookmarks("Firma").Range" ein Object
zurück, so dass da steht:

oRNG = (object)

und das wàre dann die implizierte Konvertierung.

Gruß, Karsten.

Ähnliche fragen