【发布时间】:2017-06-10 19:43:13
【问题描述】:
我有一个 .xlsm 文件。它包含一个电影列表,应该在在线数据库 omdbapi.com 中搜索每部电影的信息,并从F 列开始插入此信息。
MWE 如下所示。
在第一张纸上,它在单元格 A1 中只写了Lawless (2012),即第一部电影的名称。第 4 列和第 5 列分别包含带有空格的名称(空格变为 +)和从第一个单元格中提取的年份,但我在这里跳过该代码。在示例中,它看起来像这样:
VBA宏如下:
Sub test()
mystr = "http://www.omdbapi.com/?t=" & Cells(1, 4).Value & "&y=" & Cells(1, 5).Value & "&r=xml"
ActiveWorkbook.XmlImport URL:=mystr, ImportMap:=Nothing, Overwrite:=True, Destination:=Cells(1, 6)
ActiveWorkbook.Connections.Item(1).Delete
End Sub
此代码已运行了最长时间。现在,我遇到了错误:
运行时错误“70”:
权限被拒绝。
我搜索了这意味着什么,但没有找到任何似乎适用的东西。 此外,互联网连接正常,没有被其他连接阻塞,excel拥有访问网络的所有权利。
【问题讨论】:
-
该网站显示“2017 年 5 月 10 日 - 新 API 密钥!由于对密钥的分发方式存在一些安全问题,我更新了表单以通过电子邮件发送给他们,并更改了使用的算法,这意味着您未通过电子邮件获得的旧密钥最终将停止工作。”你知道吗?
-
正如@Tehscript 指出的那样,您可能需要更新的 API 密钥。而且您的代码似乎甚至没有传递(旧的?)键,因为它说用法应该包含
apikey参数(http://www.omdbapi.com/?apikey=[yourkey]&) -
我不知道这一点。我没有想到该网站可能已更改。
-
"这个代码已经运行了最长时间。现在,我遇到错误 Run-time error '70': Permission denied。" - 这真的应该是一个巨大的提示,该网站已经改变。 (您没有更改代码,因此下一个最可能的解释是有人更改了网站。)
-
嗯,这确实是微不足道的。如果你想回答这个问题,我可以奖励这个赏金。