我正在为我的公司编写一个excel vba脚本,我在使它顺利工作方面遇到了一些麻烦。为了让我的脚本能够完成它的工作,我需要打开两个excel文档,这些文档可以在我公司的内部网上找到。以下是我目前使用的代码:
Sub checkForGrids()
Dim IE As Object
Dim link As String
On Error Resume Next
Set groupGrid = Workbooks(Sheet2.Cells(3, 2).value)
If groupGrid Is Nothing Then
MsgBox ("The Service Area Grid is required for this tool to run. Attempting to open now.")
Set IE = CreateObject("InternetExplorer.Application")
link = Sheet2.Cells(3, 3)
With IE
.Visible = True
.Navigate link
End With
End If
Set groupGrid = Workbooks(Sheet2.Cells(4, 2).value)
If groupGrid Is Nothing Then
MsgBox ("The Service Area Grid is required for this tool to run. Attempting to open now.")
Set IE = CreateObject("InternetExplorer.Application")
link = Sheet2.Cells(4, 3)
With IE
.Visible = True
.Navigate link
End With
End If
End Sub
这很好用,除了你必须在msgbox上单击确定,单击打开并等待单击确定然后打开第二个文档。我的同事弹出后立即点击第二个ok按钮,导致错误。
有没有更顺畅的方法来实现这一目标?我更希望他们不必点击“打开”#39;可是的,但我一直无法找到这样的方法。感谢
答案 0 :(得分:1)
您可以通过不显示IE来静默运行IE,停止屏幕更新并使用Application.StatusBar
方法通知用户发生了什么。
或者,您可以创建一个以非模态状态弹出的小用户窗体,然后在运行所需代码时隐藏它。