Avatar billede steensommer Praktikant
07. november 2003 - 15:47 Der 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?

vh Steen
Avatar billede stefanfuglsang Juniormester
07. november 2003 - 16:14 #1
Du kan bruge ontime:
Application.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
Application.OnTime(now+ TimeValue("00:00:15"),"HideProc")

Hideproc skal indeholde din FrmStart.Hide
Avatar billede stefanfuglsang Juniormester
07. november 2003 - 16:20 #2
Til det andet - måske kan du sætte Workbook.isaddin til true, så skjules arkene, jeg ved bare ikke om man når at se arkene først
Avatar billede stefanfuglsang Juniormester
07. november 2003 - 16:21 #3
activeworkbook.isaddin =true
Avatar billede bak Forsker
07. november 2003 - 16:36 #4
Stefanfuglsang har ret mht. ontime
Dette burde kunne gøre det.
Formen skal ikke være Modal

Sub KillForm()
Unload UserForm1
End Sub


Private Sub UserForm_Initialize()
    Application.OnTime Now + TimeValue("00:00:15"), "KillForm"
End Sub

Put denne i This_Workbook

Private Sub Workbook_Open()
    UserForm1.Show
End Sub
Avatar billede steensommer Praktikant
07. november 2003 - 17:18 #5
Jeg må desværre sige at ovenstående OGSÅ forsinker opstarten med det antal sekunder man har sat onTime til :0(
Avatar billede bak Forsker
07. november 2003 - 19:20 #6
Det burde ikke ske ..
Har du sat Userformen til ikke modal
Prøv at starte således

Private Sub Workbook_Open()
    UserForm1.Show vbModeless
End Sub
Avatar billede stefanfuglsang Juniormester
07. november 2003 - 19:31 #7
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!!"

End Sub

Sub test2()
    MsgBox "Færdiiig!!"
End Sub
   

Sub test2()
    MsgBox "Færdiiig!!"
End Sub
Avatar billede stefanfuglsang Juniormester
07. november 2003 - 19:32 #8
Der var en test2 for meget, og hvis begge eksempler skal prøves, skal test() og test() hedde noget forskelligt...
Avatar billede steensommer Praktikant
07. november 2003 - 19:45 #9
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.
Avatar billede bak Forsker
08. november 2003 - 02:25 #10
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 :-)
Avatar billede bak Forsker
08. november 2003 - 02:25 #11
:-)
Avatar billede steensommer Praktikant
08. november 2003 - 08:17 #12
Hvad point angår: Småt men godt :0)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester