如何使用VBA通过Internet Explorer从共享点打开Excel文档

如何使用VBA通过Internet Explorer从共享点打开Excel文档,excel,vba,Excel,Vba,我是VBA新手&边走边学。我现在遇到了一个问题,我需要一些帮助 我正在尝试使用Internet Explorer从共享点打开Excel工作簿(Test.xlsx)。打开文件后,我想关闭IE。然后从工作簿复制几张工作表,将其复制/移动到新工作簿并关闭原始工作簿。 我在Google上搜索了很多东西,得到了下面的代码,如果我单独运行,这些代码可以正常工作,但是如果我与我的原始程序(我通过录制宏来生成)结合,它会给出一条错误消息“运行时错误'9':下标超出范围”,当我调试时会突出显示我的错误处理程序代码

我是VBA新手&边走边学。我现在遇到了一个问题,我需要一些帮助

我正在尝试使用Internet Explorer从共享点打开Excel工作簿(
Test.xlsx
)。打开文件后,我想关闭IE。然后从工作簿复制几张工作表,将其复制/移动到新工作簿并关闭原始工作簿。 我在Google上搜索了很多东西,得到了下面的代码,如果我单独运行,这些代码可以正常工作,但是如果我与我的原始程序(我通过录制宏来生成)结合,它会给出一条错误消息“运行时错误'9':下标超出范围”,当我调试时会突出显示我的错误处理程序代码(工作簿(“Test.xlsx”).Close SaveChanges:=False)

我真的无法理解这里的错误。 有人能帮我查一下正确的密码吗

基本上,我的要求是使用Internet Explorer(在新窗口中)从共享点(
“URL/TEST.xlsx”
)打开Excel工作簿,关闭IE窗口,然后将一些工作表从原始工作簿(TEST.xlsx)复制/移动到新工作簿,关闭原始工作簿(TEST.xlsx)并在新工作簿(Book###中进行修改

有人能帮我查一下这里的密码吗

下面是我从谷歌/互联网上获得的代码

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
谢谢

或者如果你想自动签出它

Sub SP()

fil = "http://123/Testing/Test.xlsx" 
If Application.Workbooks.CanCheckOut(fil) Then 
Application.Workbooks.CheckOut fil 
Set wb = Application.Workbooks.Open(fil) 
End If

End Sub

为什么不直接在excel中打开文件而不是使用IE?例如,
工作簿。打开(“http://server.company.com/path/Test.xlsx)谢谢蒂姆。试图直接使用下面的代码打开文件,该代码带有运行时错误;将strFilePath设置为String strFilePath=“URL/TEST.XLSX”thishworkbook.FollowHyperlink(strFilePath),所以我想我会尝试使用IE,这可能会更好。正如我前面所说的,我对这个世界还不熟悉&试图从专家那里学到尽可能多的东西。Excel直接从URL打开文件应该没有问题
Sub SP()

fil = "http://123/Testing/Test.xlsx" 
If Application.Workbooks.CanCheckOut(fil) Then 
Application.Workbooks.CheckOut fil 
Set wb = Application.Workbooks.Open(fil) 
End If

End Sub