Wachten tot proces gereed is

Status
Niet open voor verdere reacties.

ColdDeath

Gebruiker
Lid geworden
7 nov 2013
Berichten
63
Hallo,

Met mijn macro wil ik bestanden opslaan, maar omdat het grote bestanden zijn is er een lange wachttijd. Wat ik graag zou willen is een pop up (userform.load) die zegt dat het bestand word opgeslagen, op het moment dat opslaan in voltooid moet hij weggaan (userform1.hide).

Het enige wat ik nodig heb is een stukje code dat zegt wanneer het opslaan is begonnen en is voltooid.


Willie
 
Bedankt voor de reactie, een progress bar kan zeker een toevoeging zijn aan de code.

Wat ik nodig heb is een stukje code dat kan zien of het programma bezig is (met opslaan).

Het enige wat ik heb kunnen vinden in de progress bar is iedere 5 seconden een nieuwe label laten zien tot alle 10 labels zichtbaar zijn en de counter is afgelopen.
 
Laatst bewerkt:
Dag ColdDeath !

Zoals je voorstelde in #1 werkt het, als je de code voor het saven laat voorafgaan en volgen door de code om de userform op te roepen en weer te sluiten.
(het Wait-commande heb ik toegevoegd om te vermijden dat de userform leeg bleef).
Code:
Userform1.Show vbModeless
Application.Wait (Now + TimeValue("0:00:01"))
ThisWorkbook.Save
Unload Userform1
Grtz,
MDN111.
 
MDN111, bedankt, ik ga even met een vlak hand in mijn gezicht slaan.
 
Mijn userform bestaat uit een label en heeft de volgende code :

Code:
Sub whatever()
Dim time1, time2

time1 = Now
time2 = Now + TimeValue("0:00:01")
    Do Until time1 >= time2
        DoEvents
        time1 = Now()
    Loop

End Sub


Private Sub UserForm_Initialize()

    Set swapp = CreateObject("SldWorks.Application")
    Set swModel = swapp.ActiveDoc
    
    whatever

    swModel.ShowNamedView2 "*Isometric", 7
    swModel.ViewZoomtofit2
    swModel.ForceRebuild3 (True)

        If locatiebestand = "" Then

            filepath = swModel.GetTitle
            
        Else
        
            filepath = Mid(locatiebestand, 1, Len(locatiebestand) - 8) & tekeningnummer & extensie
            
        End If

    bRet = swModel.SaveAs3(filepath, 0, 0)

    ProgressBar1.Hide

    End

End Sub

Ik verwacht het volgende:
Userform wordt geladen en komt op het scherm te staan.
Userform wacht voor 1 seconde.
Rebuild + Save van het model.
Userform wordt van het scherm gehaald.
Einde.

Wat de userform doet (inclusief debug)
Userform wordt geladen en komt niet op het scherm te staan.
Er wordt geen seconde gewacht.
Rebuild + Save
Einde

Iemand?


(sleep en wait doen het niet, waarschijnlijk omdat ik niet de juiste library daarvoor heb geladen)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan