2014-09-16 4 views
1

Я хочу открыть диалоговое окно, в котором пользователь должен ждать, пока загрузится файл и программа Excel.Загрузка диалогового окна при открытии Excel

Как я могу открыть диалог в своем VBS?

Мой используется VBScript:

Option Explicit 

Dim objExcel, objWorkBook 

//start dialog here? 

Set objExcel = CreateObject("excel.application") 
objExcel.Visible = false 
Set objWorkBook = objExcel.Workbooks.Open("C:\Tester.xlsm") 
objExcel.Run "Tester.xlsm!modul1.subTest" 
objWorkBook.Close True 
objExcel.Quit 
Set objWorkBook = Nothing 
Set objExcel = Nothing 
+0

Что вы имели в виду о диалоге? Вы имели в виду как MsgBox или Popup Message? или панель ожидания, как в этом примере ==> http://stackoverflow.com/questions/25734096/vbs-batch-check-if-download-complete/25735194#25735194 – Hackoo

+0

Thx. sth, как это, но не этот комплекс ^^ – Phil

+0

Я думал, что STH, как открыть окно, и ждать, пока xlsm будет opend – Phil

ответ

0

Заимствование код из Scripting Guy Blog вы могли бы использовать HTA в качестве экрана заставки/загрузки, и переместить его за пределы экрана, как только рабочая книга открыта:

<html> 
<head> 
<title>Splash Screen</title> 
<HTA:APPLICATION 
    APPLICATIONNAME="Splash Screen" 
    SCROLL="no" 
    SINGLEINSTANCE="yes" 
    WINDOWSTATE="normal" 
    BORDER="none" 
    INNERBORDER="no" 
    SHOWINTASKBAR="no" 
> 
</head> 

<script language="VBScript"> 
    Dim xl, wb 

    Sub Window_OnLoad 
    Set xl = CreateObject("Excel.Application") 
    Set wb = xl.Workbooks.Open("C:\Tester.xlsm") 

    screenWidth = document.parentWindow.screen.availWidth 
    screenHeight = document.parentWindow.screen.availHeight 
    window.moveTo -(screenWidth + 50), -(screenHeight + 50) 

    xl.Run "Tester.xlsm!modul1.subTest" 

    wb.Close True 
    xl.Quit 

    self.close 
    End Sub 
</script> 

<body> 
<p>Loading Excel. Please wait.</p> 
</body> 
</html> 
+0

txt я попробую это: D – Phil

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