2012-03-28 2 views
3

Я установил на моем компьютере MSXML 2,6 MSXML 3,0 MSXML 4,0 MSXML 6,0MSXML: Invalid Class Строка

, когда я пытаюсь разобрать мой XSL во время выполнения У меня есть ошибка Invalid Class Строка это является код

Public Sub PreviewDOCUMENT() 
    Dim ObjXMLTransformDoc 
    Dim ObjXMLTransformStyle 
    Dim ObjXMLDoc 
    Dim ObjXMLStyle 
    Dim ObjXsltSettings 
    On Error GoTo ERR_HANDLER 

    If mResultPath <> "" Then 

     Set ObjXMLTransformDoc = CreateObject("Msxml2.DOMDocument.4.0") 
     ObjXMLTransformDoc.Load (mResultPath & MyDocument.DOC_TYPE & "_XML_TO_XSL.xml") 

     Set ObjXMLTransformStyle = CreateObject("Msxml2.DOMDocument.4.0") 
     ObjXMLTransformStyle.Load ActiveWorkbook.path & "\RESULT\form_generation.xsl" 

     ObjXMLTransformStyle.setProperty "AllowXsltScript", True 

     Set ObjXMLStyle = CreateObject("Msxml2.DOMDocument.4.0") 
     ObjXMLTransformDoc.transformNodetoObject ObjXMLTransformStyle, ObjXMLStyle 

     KillFile mResultPath & MyDocument.DOC_TYPE & "_DOCUMENT_STYLE.xsl" 
     DoEvents 
     AppendToTextFile mResultPath & MyDocument.DOC_TYPE & "_DOCUMENT_STYLE.xsl", ObjXMLStyle.XML 


     Dim mSE As New CShellExecute 
     mSE.LaunchDocument 0, mResultPath & MyDocument.DOC_TYPE & "_XML_TO_XML.xml", ActiveWorkbook.path & "\RESULT\", sesSW_SHOWDEFAULT 
    Else 
     MsgBox "Create documents first!" 
    End If 
Exit Sub 

ERR_HANDLER: 
    MsgBox "Error: " & Err.Number & ". " & Err.Description 

End Sub 
+0

Добавили ли вы ссылку на msxml4 в своем проекте? Кроме того, я бы использовал msxml6, поскольку теперь это часть Windows и не нуждается в отдельном развертывании. – Dabblernl

+0

Когда я использую MSXML 6.0, у меня есть ошибка: Javascript не является языком сценариев. –

+0

Это совершенно непонятно ;-). На какой строке вы получаете ошибку VB6 о недопустимой строке класса? – Dabblernl

ответ

1

насколько я помню, загрузка по умолчанию является асинхронной так для вашей последовательности коды, чтобы иметь смысл вам нужно добавить ObjXMLTransformDoc.async = False перед вызовом ObjXMLTransformDoc.Load нагрузки и ObjXMLTransformStyle.async = False б перед вызовом ObjXMLTransformStyle.Load. Получается ли сообщение об ошибке, связанное с тем, что я не уверен. Можете ли вы рассказать нам точное утверждение или строку, в которой вы получаете эту ошибку?

+0

: ObjXMLTransformDoc.transformNodetoObject ObjXMLTransformStyle, ObjXMLStyle –

Смежные вопросы