Klassentypen

01/11/2014 - 14:28 von Lothar Geyer | Report spam
Wahrscheinlich ganz einfach ... aber ich komm nicht drauf :-(

In einer FileListBox kann ein User mehrere Vorlagen-Dateien für
Textverarbeitungen (MS Office, OpenOffice...) auswàhlen. Es soll geprüft
werden, ob die gewàhlten Vorlagen alle für die selbe Textverarbeitung sind.

isDiff = False
For ii = 0 To .ListCount - 1
If .selected(ii) Then
mCnt = mCnt + 1
inFile = VorlDir & "\" & .List(ii)
Set TTxvTyp = OfficePaket(inFile)
If Not TxvTyp Is Nothing Then
ERR If TypeOf TTxvTyp Is typeof txvtyp Then
isDiff = True
End If
Else
Set TxvTyp = TTxvTyp
End If
End If
Next ii

Die Funktion OfficePaket liefert ein Objekt vom Typ clsMSOffice oder
clsOpenOffice ...:
Public Function OfficePaket(Filename As String) As IfTextOffice

Die mit ERR gekennzeichnete Zeile bleibt immer rot.
Was mache ich falsch?

Lothar Geyer
 

Lesen sie die antworten

#1 Wolfgang Enzinger
01/11/2014 - 17:39 | Warnen spam
Lothar Geyer wrote:

Wahrscheinlich ganz einfach ... aber ich komm nicht drauf :-(



[...]

ERR If TypeOf TTxvTyp Is typeof txvtyp Then


^^^^^^^

Einfach das zweite TypeOf weglassen:
If TypeOf TTxvTyp Is TxvTyp Then ...

Allerdings scheint hier TxvTyp eine typisierte Objektvariable zu sein;
stattdessen sollte hier der Interfacename stehen (also der Typ, den die
Variable TxvTyp hat).

Viele Grüsse,
Wolfgang
http://www.enzinger.net

Ähnliche fragen