Prüfung, ob Bibliothek MSXML2 eingebunden
07.12.2007 13:35:49
Thomas
mit VBA erstelle ich eine XML-Datei (eigentlich nur eine Textdatei mit dem Präfix .xml). Diese Datei soll vom Excel-Makro auf Wohlgeformtheit überprüft werden und gegen eine DTD validiert werden. Derzeit hab ich auf meinem Rechner die MSXML Vers. 2.5 (MSXML2) und MSXML6 in das VBE eingebunden.
Ich möchte das Makro gern weitergeben. Bei meinem Kollegen kommt ein Kompilierungsfehler, weil die Bibliothek MSXML2 nicht vorhanden ist.
Wie kann ich im Vorfeld überprüfen, ob die MSXML2 auf dem lokalen Rechner gefunden werden kann. Wenn MSXML2 nicht gefunden wurde, soll der Teil des Makros, der die Validierung vornimmt, nicht laufen.
Hier der Teil aus meinem Makro:
Dim xmlFile As New MSXML2.DOMDocument ' hier gibts auch die Klassen DOMDocument26, 30, 40, 60
Dim xmlFehler As MSXML2.IXMLDOMParseError
Dim strAusgabe As String
xmlFile.Load strDateiName
If xmlFile.parsed = True Then
xmlFile.setProperty "ProhibitDTD", False ' ist wohl für MSXML6 notwendig (?)
Set xmlFehler = xmlFile.parseError
With xmlFehler
strAusgabe = "Fehlernummer: " & vbTab & .errorCode & vbCr
strAusgabe = strAusgabe & "Fehlerposition:" & vbTab & .filepos & vbCr
strAusgabe = strAusgabe & "Zeile:" & vbTab & vbTab & .Line & vbCr
strAusgabe = strAusgabe & "Zeilenposition: " & vbTab & .linepos & vbCr
strAusgabe = strAusgabe & "Fehlergrund: " & vbTab & .reason & vbCr
strAusgabe = strAusgabe & "Fehlertext: " & vbTab & .srcText & vbCr
strAusgabe = strAusgabe & "Fehlerdatei: " & vbTab & .URL
End With
MsgBox strAusgabe
End If
Vielen Dank und viele Grüße
Thomas