Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel XML文件必须使用microsoft XML记事本打开_Excel_Vba - Fatal编程技术网

Excel XML文件必须使用microsoft XML记事本打开

Excel XML文件必须使用microsoft XML记事本打开,excel,vba,Excel,Vba,我在使用XML文件时遇到了一个问题。我有一个宏,可以搜索XML文件中的节点,在我重新启动笔记本电脑之前,宏运行正常。每次它都会出错,我首先必须用MicrosoftXMLNotepad手动打开一个XML文件,然后它才能正常工作。我能在不改变笔记本电脑默认打开程序的情况下解决这个问题吗 Set oXMLFile = CreateObject("Microsoft.XMLDOM") XMLFileName = Dir(MAIN_FOLDER & "\" & LotApp

我在使用XML文件时遇到了一个问题。我有一个宏,可以搜索XML文件中的节点,在我重新启动笔记本电脑之前,宏运行正常。每次它都会出错,我首先必须用MicrosoftXMLNotepad手动打开一个XML文件,然后它才能正常工作。我能在不改变笔记本电脑默认打开程序的情况下解决这个问题吗

    Set oXMLFile = CreateObject("Microsoft.XMLDOM")
    XMLFileName = Dir(MAIN_FOLDER & "\" & LotAppendix & "*.xml")
    oXMLFile.Load (XMLFileName)

您的问题很可能是将文件名传递给
Load()
——如果当前目录设置为MAIN_文件夹(例如,如果您导航到那里并手动打开文件),这将起作用,但如果未设置,则会失败

修复方法是始终使用完整路径,并且永远不依赖于正在设置的特定当前目录:

Set oXMLFile = CreateObject("Microsoft.XMLDOM")
XMLFileName = Dir(MAIN_FOLDER & "\" & LotAppendix & "*.xml")
oXMLFile.Load MAIN_FOLDER & "\" & XMLFileName

您的问题很可能是将文件名传递给
Load()
——如果当前目录设置为MAIN_文件夹(例如,如果您导航到那里并手动打开文件),这将起作用,但如果未设置,则会失败

修复方法是始终使用完整路径,并且永远不依赖于正在设置的特定当前目录:

Set oXMLFile = CreateObject("Microsoft.XMLDOM")
XMLFileName = Dir(MAIN_FOLDER & "\" & LotAppendix & "*.xml")
oXMLFile.Load MAIN_FOLDER & "\" & XMLFileName

谢谢,这个有用,但我不明白。最后文件路径是:MAIN\u FOLDER\MAIN\u FOLDER\LotAppendix。如果文件夹路径是双路径,它怎么还能工作?
Dir()
只返回文件名,而不是完整路径。谢谢,这可以工作,但我不明白。最后文件路径是:MAIN\u FOLDER\MAIN\u FOLDER\LotAppendix。如果文件夹路径是双路径,它怎么还能工作?
Dir()
只返回文件名,而不是完整路径。