07. november 2003 - 15:47Der er
10 kommentarer og 2 løsninger
startscreen under afvikling af vba
Hej
I forbindelse med start af en projektmappe (start.xls) med indlæsning af celler fra en anden liste (der åbnes og lukkes igen)ville jeg gerne vise en userform kaldet FrmStart og lukke denne projektmappen er åbnet.
Jeg havde indlæst følgende kode i workbook_open:
FrmStart.Show (False) Application.Wait Now + TimeValue("00:00:15") FrmStart.Hide
men denne forsinker hele processen i 15 sek hvilket jo ikke var meningen. Hvad kan gøres. Jeg har deuden indlagt: Application.Screenupdating = False Dette tiltrods ser man åbning af den projektmappe der indeholder sourcedata hvorefter den lukke igen - kan det ikke undgåes?
Måske har bak ret i det med modal/modeless. Nedenstående to eksempler opfører sig ikke ens. Med Ontime vises meddelelsen "ikke færdig" før "Færdig"-meddelelsen -sådan er det ikke med Wait. Bemærk at Færdig-meddelelsen ikke kommer, hvis "Ikke færdig"-meddelelsen ikke er lukket med Ok.
Sub test() Application.OnTime Now + TimeValue("00:00:10"), "test2" MsgBox "Ikke færdig!!"
End Sub
og
Sub test() Application.Wait Now + TimeValue("00:00:10") MsgBox "Ikke færdig!!"
Nu fungerer det - Bak som selvfølgelig ret. Tak til jer begge. Jeg måtte dog i Workbook_Open indsætte FrmStart.Show vbModeless Application.Wait Now + TimeValue("00:00:01") for at give userformen tid til at vise sig korrekt (ellers var kun rammen synlig). Findes der andre metoder til ikke at vise den åbne workbook eller hvor skal activeworkbook.isaddin =true placeres (og i hvilken workbook?) NB Svar lige bak så jeg kan fordele point til jer begge.
ok, godt at det virker. Jeg har faktisk selv sat en Wait ind af samme grund, men jeg troede at det var pga af min håbløs forældede computer, at formen ikke nåede at "loade" helt :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.