2014-11-25 3 views
0

Я пишу скрипт excel vba для своей компании, и у меня возникают проблемы с его работой. Для того, чтобы мой скрипт выполнил свою задачу, мне нужно открыть два документа Excel, которые доступны в интранете моей компании. Ниже приведен код, я в настоящее время с помощью:Открытие отличных документов из Интернета clanky

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, нажмите открытым и ждать, прежде чем для второго документа нажмите кнопку ОК и открытым. Мои коллеги нажимают вторую кнопку ОК, как только она появляется, вызывая ошибку.

Есть ли какие-либо более плавные пути для этого? Я бы предпочел, чтобы им не пришлось нажимать «открывать» вообще, но я не смог найти такой метод. Спасибо

+0

'Workbooks.Open Sheet2.Cells (3, 3) .Value' Предполагая, что ячейка имеет HTTP-ссылку на книгу –

ответ

1

Вы можете запускать IE тихо, не делая его видимым, останавливая обновление экрана и используя метод Application.StatusBar, чтобы информировать пользователя о том, что происходит.

В качестве альтернативы вы можете создать небольшую пользовательскую форму, которая появляется в немодальном состоянии, а затем скрывается при выполнении требуемого кода.

Смежные вопросы