【发布时间】:2016-06-15 03:46:00
【问题描述】:
我是 VBA 新手,我正在努力学习。我目前在这里遇到一个问题,我需要一些帮助。
我正在尝试使用 Internet Explorer 从共享点打开 Excel 工作簿 (Test.xlsx)。打开文件后,我想关闭 IE。然后从工作簿中复制几张工作表,将其复制/移动到新工作簿并关闭原始工作簿。
我在 Google 中搜索了很多,并提供了以下代码,如果我单独运行它可以正常工作,但是如果我与我的原始程序(我设法通过录制宏来生成)结合使用,它会给出错误消息“运行时错误”9 ':下标超出范围',当我调试时会突出显示我的错误处理程序代码(Workbooks("Test.xlsx").Close SaveChanges:=False)。
我真的无法理解这里的错误。 有人可以在这里帮我输入正确的代码吗?
基本上我的要求是使用 Internet Explorer(在新窗口中)从共享点("URL/TEST.xlsx")打开一个 Excel 工作簿,关闭 IE 窗口,然后从原始工作簿中复制/移动几张工作表(Test.xlsx)到新工作簿,关闭原始工作簿(Test.xlsx)并在新工作簿(Book##)中进行修改。
有人可以帮我解决这里的代码吗?
以下是我设法从 Google/Internet 获得的代码。
Sub OpenIE()
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "URL/TEST.xlsx"
objIE.Visible = True**
On Error GoTo My_Error_Handler
Windows("Test.xlsx").Visible = True
On Error GoTo My_Error_Handler
Sheets(Array("Stats", "Mtx")).Select
Sheets("Mtx").Activate
Sheets(Array("Stats", "Mtx")).Copy
Sheets("Mtx").Select
'
'
'
'
' so on
'
'
My_Error_Handler:
Workbooks("Test.xlsx").Close SaveChanges:=False
ActiveWorkbook.Close SaveChanges:=False
MsgBox "Error: (" & Err.Number & ") " & Err.Description, vbCritical
End Sub
谢谢
【问题讨论】:
-
为什么不用IE直接用excel打开文件呢?例如。
Workbooks.Open("http://server.company.com/path/Test.xlsx") -
谢谢蒂姆。尝试使用以下带有运行时错误的代码直接打开文件; Dim strFilePath As String strFilePath = "URL/TEST.XLSX" ThisWorkbook.FollowHyperlink (strFilePath) 所以我想我会尝试使用 IE,这可能会更好。正如我之前所说,我是这个世界的新手,并试图尽可能多地向专家学习。
-
Excel直接从URL打开文件应该没问题