Langläuferformatierung abwarten?
23.12.2015 10:27:50
Stephan
ich möchte über die Excel API ein großes Workbook aufrufen und eine Spalte von Text auf Zahl formatieren. Dabei möchte ich messen, wie lange die Formatierung braucht, um alle betroffenen Zellen umzuformatieren. Danach wird das Workbook wieder geschlossen und der Vorgang wiederholt.
Wie kann ich abfragen, wann die Formatierung durchgelaufen ist. Der Code läuft anscheinend weiter, sobald der Befehl anstoßen ist und nicht wie bei vielen anderen, wenn der Befehl fertig ausgeführt ist. Ich habe unten mal den gesamten Code angehängt. Es geht mir konkret um diese Codezeile:
myWorksheet.Selection.NumberFormat = "0.00"
Der darauffolgende Code soll erst ausgeführt werden, wenn die Formatierung abgeschlossen ist.
Danke, Stephan
Dim myExcel
dim myWorkbook
dim myWorksheet
call reportStep(CurrentRun,"Start Messung", "Passed")
' Objekte erstellen
Set myExcel = CreateObject("Excel.Application")
myExcel.Visible = true
myExcel.DisplayAlerts = False
call reportStep(CurrentRun,"Start Excel öffnen", "Passed")
set myWorkbook = myExcel.Workbooks.Open("S:\Testautomatisierung\Testdaten\01 Excel 2013 Test\Detailliste Controlling IT-AE - Portfolio Q4-15_2015-12-03.xlsm",false)
call reportStep(CurrentRun,"Ende Excel öffnen", "Passed")
set myWorksheet = myWorkbook.Worksheets("IST PT CO")
myworksheet.activate
myWorksheet.Range("L2").Select
myWorksheet.Range(Selection, Selection.End(xlDown)).Select
call reportStep(CurrentRun,"Start Formatierung", "Passed")
myWorksheet.Selection.NumberFormat = "0.00"
call reportStep(CurrentRun,"Ende Formatierung", "Passed")
' Aufräumen
set myWorksheet = nothing
myWorkbook.close(False)
set myWorkbook = nothing
myExcel.quit
set myExcel = nothing
'Ende Test
call reportStep(CurrentRun,"Ende Test", "Passed")