2012-03-28 100 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