2012-03-28 101 views
3

我已經安裝在我的電腦 MSXML 2.6 MSXML 3.0 MSXML 4.0 MSXML 6.0MSXML:無效類字符串

當我試圖分析我的執行時間XSL我有錯誤無效類字符串 這些被代碼

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 2012-03-28 19:24:17

+0

當我使用MSXML 6.0時出現錯誤:Javascript不是腳本語言。 – 2012-03-29 07:09:23

+0

這完全是莫名其妙的;-)。你在哪一行得到有關無效類字符串的VB6錯誤? – Dabblernl 2012-03-29 12:47:57

回答

1

至於我記得默認加載是異步的所以您的代碼序列是有道理的,你需要的ObjXMLTransformDoc.Load負載通話和ObjXMLTransformStyle.async = False b之前加ObjXMLTransformDoc.async = FalseObjXMLTransformStyle.Load之前致電。 您得到的錯誤消息是否與我不確定有關。你能告訴我們確切的陳述或者你得到那個錯誤的行嗎?

+0

該行是:ObjXMLTransformDoc.transformNodetoObject ObjXMLTransformStyle,ObjXMLStyle – 2012-03-29 07:08:25