我正在从网站中提取某些数据。我必须对表中至少一百万行执行此任务。我正在使用 excel VBA 连接 MySQL。
- 使用 MySQL 与 excel VBA 连接,我从表中获取作者的名字和姓氏。
- 对于作者的名字和姓氏,我将 Linkedin 附加到搜索查询中,并在 Google 中搜索。
- 从搜索结果中,我打开了 HTML 格式的第一个搜索结果页面并提取了一些信息。
- 我将一些提取的信息放回 MySQL 表中。
按照上述步骤一切正常。但是,如果我尝试对超过 10 行执行此操作,则会收到以下错误。
自动化错误远程过程调用失败并且没有执行
我意识到这与 IE 的打开/关闭有关。在我的程序中,我有以下代码。
要创建一个新的 IE 应用程序,我定义如下。
Set ie = New InternetExplorer
Set RegEx = New RegExp
Dim iedoc As Object
ie.Navigate "http://www.google.com/search?hl=en&q=" & FirstName & "+" & LastName &
"+linkedin&meta="
Do Until ie.ReadyState = READYSTATE_COMPLETE
Loop
MyStr = ie.Document.body.innerText
Set RegMatch = RegEx.Execute(MyStr)
在为一位作者提取数据后,我在最后有以下代码。
ie.Quit
Set RegEx = Nothing
Set ie = Nothing
Dim strBatchName As String
strBatchName = "F:\command.bat"
Shell strBatchName
command.bat 有以下代码。
taskkill.exe /F /IM iexplore.exe /T
如果我的表中的行少于 10 行,它工作得非常好。但是,对于更多行数,我确实得到了上述错误。