Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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
Vba &引用;运行时自动化错误-2147417848(80010108)";_Vba_Excel - Fatal编程技术网

Vba &引用;运行时自动化错误-2147417848(80010108)";

Vba &引用;运行时自动化错误-2147417848(80010108)";,vba,excel,Vba,Excel,我使用VBA excel解析一长串本地.htm文件。问题是,在程序开始解析HTM文件之前,我甚至出现了一个错误 错误为: <!-- language: lang-html --> Enum READYSTATE READYSTATE_UNINITIALIZED = 0 READYSTATE_LOADING = 1 READYSTATE_LOADED = 2 READYSTATE_INTERACTIVE = 3 READYSTATE_COMPLETE = 4 End Enum Sub

我使用VBA excel解析一长串本地
.htm
文件。问题是,在程序开始解析HTM文件之前,我甚至出现了一个错误

错误为:

<!-- language: lang-html -->
Enum READYSTATE
READYSTATE_UNINITIALIZED = 0
READYSTATE_LOADING = 1
READYSTATE_LOADED = 2
READYSTATE_INTERACTIVE = 3
READYSTATE_COMPLETE = 4
End Enum
Sub ImportHTM()

    'Dim ie As InternetExplorer
    Dim ie As InternetExplorerMedium
    Dim html As HTMLDocument

    Set ie = New InternetExplorerMedium
    'Set ie = New InternetExplorer
    ie.Visible = False
    ie.navigate "d:\Cloud\Dropbox\3.htm"

    Do While ie.READYSTATE <> READYSTATE_COMPLETE
        Application.StatusBar = "Loading Profile..." 'PROBLEM SEEMS TO BE HERE SOMEWHERE!
        DoEvents
    Loop
    Set html = ie.document
    Set ie = Nothing
    Application.StatusBar = ""

'code code code --> which at this point isn't executed because the error occures before

VBA代码:

<!-- language: lang-html -->
Enum READYSTATE
READYSTATE_UNINITIALIZED = 0
READYSTATE_LOADING = 1
READYSTATE_LOADED = 2
READYSTATE_INTERACTIVE = 3
READYSTATE_COMPLETE = 4
End Enum
Sub ImportHTM()

    'Dim ie As InternetExplorer
    Dim ie As InternetExplorerMedium
    Dim html As HTMLDocument

    Set ie = New InternetExplorerMedium
    'Set ie = New InternetExplorer
    ie.Visible = False
    ie.navigate "d:\Cloud\Dropbox\3.htm"

    Do While ie.READYSTATE <> READYSTATE_COMPLETE
        Application.StatusBar = "Loading Profile..." 'PROBLEM SEEMS TO BE HERE SOMEWHERE!
        DoEvents
    Loop
    Set html = ie.document
    Set ie = Nothing
    Application.StatusBar = ""

'code code code --> which at this point isn't executed because the error occures before

枚举READYSTATE
READYSTATE\u未初始化=0
READYSTATE_加载=1
READYSTATE_已加载=2
READYSTATE_INTERACTIVE=3
READYSTATE_COMPLETE=4
结束枚举
副进口商标()
“Dim ie作为InternetExplorer
Dim ie作为InternetExplorerMedium
将html设置为HTMLDocument
设置ie=新的InternetExplorerMedium
'Set ie=新的InternetExplorer
可见=假
ie.navigate“d:\Cloud\Dropbox\3.htm”
在ie.READYSTATE READYSTATE\u完成时执行此操作
Application.StatusBar=“加载配置文件…”问题似乎就在这里的某个地方!
多芬特
环
设置html=ie.document
设置ie=无
Application.StatusBar=“”
'代码-->此时不会执行,因为错误发生在
你知道是什么导致了这个问题吗?你有什么解决方案的建议吗

此外,命令:

可见=假


似乎没有任何效果,因为它在新的IE窗口中打开HTM文件。

将状态栏更新移出循环

Application.StatusBar = "Loading Profile..."
Do While ie.Busy Or ie.READYSTATE <> READYSTATE_COMPLETE
    DoEvents
Loop
Application.StatusBar = vbNullString
Application.StatusBar=“加载配置文件…”
在ie忙或ie READYSTATE READYSTATE\u完成时执行
多芬特
环
Application.StatusBar=vbNullString
在等待页面加载时,没有必要将同一条消息重写成百上千次

关于没有继承
.Visible=False
属性的新Internet.Explorer“窗口”,我建议您切换到.Navigate2和ShellWindows


附录:在完成与
ie.document

相关的
html
之前,不要销毁您的
ie
对象。谢谢您的建议。我已经更改了代码,但仍然是相同的错误。。。我认为这与IE有关。即使我尝试加载本地HTM文件,也需要一些时间。。。你对此有什么建议吗?tbh,目前我不想去兔子洞,而是更喜欢兔子洞。所以说实话,我只能建议使用XMLHTTP或直接打开文件。