【问题标题】:VBA: Runtime Error '70' when accessing a databaseVBA:访问数据库时出现运行时错误“70”
【发布时间】: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。" - 这真的应该是一个巨大的提示,该网站已经改变。 (您没有更改代码,因此下一个最可能的解释是有人更改了网站。)
  • 嗯,这确实是微不足道的。如果你想回答这个问题,我可以奖励这个赏金。

标签: vba database-connection


【解决方案1】:

请试试这个...结果可能会回答您关于代码 70 的问题

Sub test()

    mystr = "http://www.omdbapi.com/?t=" & Cells(1, 4).Value & "&y=" & Cells(1, 5).Value & "&r=xml"

    Debug.Print mystr       ' copy the url from the "Immediate window"
                            ' and paste into a web browser address bar,
                            ' then navigate to that webpage
                            ' (view immediate window by pressing ctrl-G)

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 2010-09-22
    • 1970-01-01
    相关资源
    最近更新 更多