Avatar billede kmlp Nybegynder
22. maj 2005 - 15:12 Der er 6 kommentarer og
1 løsning

Statusmeddelelse under afvikling af makro

I en makro, som tager meget lang tid at afvikle, vil jeg gerne give brugeren løbende information om, hvad der foregår (f.eks. at trin 3 af 8 nu er under udførelse). Man kan bruge statuslinien, men jeg vil hellere have det op i en tydelig meddelelsesboks. Er det muligt, uden at brugeren skal svare OK, for at makroen kører videre?
Avatar billede kabbak Professor
23. maj 2005 - 10:03 #1
lav en Userform med en label

opdater label.caption hvergang du skifter trin

luk Userformen igen sidst i makroen
Avatar billede kmlp Nybegynder
23. maj 2005 - 15:54 #2
Hej kabbak, tak for svaret.

Jeg har lavet Userform1 med label1 og givet dem hver en default caption. Jeg starter så med userform1.show, og længere nede i koden forsøger jeg at ændre begge captions sådan:

userform1.hide
userform1.caption = "blabla"
label1.caption = "pludderpladder"
userform1.show

(Hvis jeg ikke bruger hide og show, skifter captions ikke - er det normalt?)

Men: Brugeren skal klikke på krydset i øverste højre hjørne af formen, før makroen kører videre. Er der nogle egenskaber ved userform, som skal stå til noget bestemt, eller noget jeg mangler at skrive i koden?
Avatar billede kmlp Nybegynder
23. maj 2005 - 15:55 #3
rettelse:
label1.caption = userform1.label1.caption
Avatar billede kabbak Professor
23. maj 2005 - 17:26 #4
smid din makro over i Userform1 under

Private Sub UserForm_Activate()

' eksempel
For I = 1 To 10000 Step 10
UserForm1.Caption = " Fil nummer"
UserForm1.Label1.Caption = I
UserForm1.Repaint ' gentegner userformen
For S = 1 To 10000: Next
Next
Unload Me
' eksempel slut

End Sub


I din gamle makro skriver du Userform1.Show, for at starte den
Avatar billede kmlp Nybegynder
23. maj 2005 - 22:54 #5
Jeg kunne ikke få det til at virke på den måde (den løber til maksimum med det samme).
Men jeg har løst mit problem ved at sætte ShowModal = False på min UserForm.
Så kører koden med skiftende meddelelser efter eksemplet her:

    UserForm1.Caption = "Trin 1 af 3"
    UserForm1.Label1.Caption = "blabla"
    UserForm1.Show
    UserForm1.Repaint
    .
    .
    UserForm1.Caption = "Trin 2 af 3"
    UserForm1.Label1.Caption = "blabla"
    UserForm1.Repaint
    .
    .
    UserForm1.Caption = "Trin 3 af 3"
    UserForm1.Label1.Caption = "blabla"
    UserForm1.Repaint
    .
    .
    UserForm1.Hide

Tak for hjælpen!
Avatar billede kmlp Nybegynder
23. maj 2005 - 22:55 #6
Læg et svar for at få dine points.
Avatar billede kabbak Professor
23. maj 2005 - 23:34 #7
ok et svar :-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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