如何在VBA中引用在线工作簿

时间:2016-12-07 18:30:06

标签: excel-vba vba excel

试图引用SharePoint上的工作簿。

我可以用它来打开文件:

Workbooks.Open("http://www.website.com/File.xlsx")

但是,我想在不打开文件的情况下执行...是否可以在不打开的情况下使用该在线工作簿?

我尝试过(必须将字符串拆分为多行,以便显示代码):

Workbooks("http://www.website.com/File.xlsx")._
Sheets("Sheet1").Range("A1").Value
如果我尝试将网站添加到Workbooks部分,则

引用并获取错误(通常是运行时错误9,下标超出范围)。我在尝试事先定义工作簿时遇到了同样的错误:

Dim wbk as Workbook
Set wbk = Workbooks("http://www.website.com/File.xlsx")

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

简答:
你需要Workbooks.Open("为了分析工作簿。

解决方案说明:

使用通用语言,workbooks本身并不是最终的指令,你需要指定你想用这个对象做什么 - 比如第三人说话 - :"工作簿获取打开" (Workbooks.Open)"工作簿添加新工作表" (Workbooks.NewSheet)等。正如您所看到的,"工作簿"它无法自行工作,它正在等待一个"命令" - 在这种情况下的事件 - 。您可以在official documentation上看到可以对工作簿执行的操作的列表。

进一步说明:
代码本身无法知道你想做什么。您需要将对象分析为Excel存档或找到通过webpage itself执行它的方式 - 这将更复杂,并且您只能通过IE执行此操作,因为没有API(API简而言之:在一个程序中告诉你的代码将命令发送给另一个程序的方法)对于我的知识来说,对于Chrome或firefox来说,Excel是一种方法 - 。