2015-01-21 76 views
0

VBA &是我新的尝试。我目前在这里遇到了一个问题,我需要一些帮助。如何使用VBA通过Internet Explorer从共享点打开Excel文档

我正尝试使用Internet Explorer从共享点打开Excel工作簿(Test.xlsx)。一旦文件被打开,我想关闭IE。然后从工作簿中复制少量工作表,将其复制/移动到新的工作簿&关闭原始工作簿。 我搜索了很多谷歌&带有下面的代码,如果我单独运行它可以正常工作,但如果我结合我的原始程序(我通过录制宏来管理它),它会给出错误消息'运行时错误' 9':下标超出范围,当我调试时会突出显示我的错误处理代码(Workbooks("Test.xlsx").Close SaveChanges:=False)

我真的不能理解这里的错误。 有人可以帮助我在这里正确的代码。

基本上我的要求是从使用Internet Explorer(在新窗口中)分享点("URL/TEST.xlsx")打开Excel工作簿,关闭IE窗口&然后复制/移动几张从原来的工作簿(Test.xlsx)至新工作簿,关闭原始工作簿(Test.xlsx)&在新工作簿(书##)中进行修改。

有人可以帮我在这里的代码。

以下是我设法从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 

感谢

+0

为什么不直接在Excel中打开文件,而不是使用IE?例如。 'Workbooks.Open(“http://server.company.com/path/Test.xlsx”)' – 2015-01-21 06:39:13

+0

谢谢蒂姆。试图直接使用运行时错误附带的以下代码打开文件; 昏暗strFilePath作为字符串 strFilePath = “URL/TEST.XLSX” ThisWorkbook.FollowHyperlink(strFilePath) 所以我想我会尝试使用IE浏览器,这可能会更好地工作。 正如我刚才所说,对于这个世界来说是新的,并试图尽可能地从专家那里学习。 – DPA 2015-01-22 00:27:02

+0

Excel应该没有问题直接从URL打开文件 – 2015-01-22 01:30:06

回答

0
Sub SP() 
Application.Workbooks.Open "http://123/Testing/Test.xlsx" 
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