Note: The other languages of the website are Google-translated. Back to English
Inloggen  \/ 
x
or
x
Registreer  \/ 
x

or

Hoe maak je een berichtvak-timer om het berichtvak na een bepaalde tijd in Excel automatisch te sluiten?

U kunt VBA-script vaak gebruiken om problemen op te lossen tijdens het gebruik van een Excel-werkmap. En er zullen berichtvensters verschijnen tijdens het uitvoeren van het script. In sommige gevallen wilt u dat bepaalde opgegeven berichtvensters na een bepaalde tijd automatisch worden gesloten in plaats van ze handmatig te sluiten. In dit artikel laten we u zien hoe u een berichtvak-timer maakt om het berichtvak na een bepaalde tijd in Excel automatisch te sluiten.

Maak een berichtvak-timer om het berichtvak na een bepaalde tijd automatisch te sluiten


Maak een berichtvak-timer om het berichtvak na een bepaalde tijd automatisch te sluiten


Hier vindt u een VBA-scriptsjabloon waarmee u een timer voor een berichtvenster kunt maken.

Stel dat u een VBA-script gebruikt om alle celverwijzingen van opgegeven formulecellen naar absoluut te converteren. Nadat de conversie is gelukt, heeft u een pop-upvenster nodig om u het succes van de conversie te vertellen, en dit berichtvenster zou na 4 seconden automatisch moeten worden gesloten (zie onderstaande schermafbeelding). Ga als volgt te werk.

1. Open de Microsoft Visual Basic voor toepassingen venster en voeg vervolgens uw gebruikte VBA-script in de bijbehorende module in.

2. Ga je gang en voeg het volgende script voor de timer van het berichtvenster toe aan je script.

VBA-script: maak een timer voor een berichtvenster om het berichtvenster na een bepaalde tijd automatisch te sluiten

'The first part
#If Win64 Then '64?
    Private Declare PtrSafe Function MsgBoxTimeout _
        Lib "user32" _
        Alias "MessageBoxTimeoutA" ( _
            ByVal hwnd As LongPtr, _
            ByVal lpText As String, _
            ByVal lpCaption As String, _
            ByVal wType As VbMsgBoxStyle, _
            ByVal wlange As Long, _
            ByVal dwTimeout As Long) _
    As Long
#Else
    Private Declare Function MsgBoxTimeout _
        Lib "user32" _
        Alias "MessageBoxTimeoutA" ( _
            ByVal hwnd As Long, _
            ByVal lpText As String, _
            ByVal lpCaption As String, _
            ByVal wType As VbMsgBoxStyle, _
            ByVal wlange As Long, _
            ByVal dwTimeout As Long) _
    As Long
#End If
'The second part
Sub btnMsgbox()
    Call MsgBoxTimeout(0, "This message box will be closed after 4 seconds ", "Kutools for Excel", vbInformation, 0, 4000)
End Sub

3. Kopieer het eerste deel van de bovenstaande VBA-code en plak deze voor uw code. Kopieer en plak vervolgens het onderstaande script van het tweede deel om het originele script in uw code te vervangen, waar u het berichtvenster nodig heeft.

MsgBoxTimeout 0, "Geconverteerd voltooid (dit berichtvenster wordt na 4 seconden gesloten)", "Kutools for Excel", vbInformation, 0, 4000

Opmerking:: In dit geval moet ik het berichtvenster eindelijk openen nadat de conversie is geslaagd. Dus plaats ik dit deel van het script aan het einde van de code. Zie screenshot:

U kunt de inhoud van het berichtvenster naar behoefte wijzigen.

4. druk de F5 sleutel om de code uit te voeren. Het opgegeven berichtvenster zal verschijnen na de conversie. En dit berichtvenster wordt automatisch na 4 seconden gesloten.


Gerelateerde artikelen:


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert elke dag honderden muisklikken voor u!
officetab onderkant
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    dangcab · 8 months ago
    It is really nice, but on my codes I'm using the "GetAsyncKeyState" function to recognize the entry status for my data (using an scan gun) and the "MsgBoxTimeout" function is affecting the "GetAsyncKeyState" function. Without the "MsgBoxTimeOut" everything is working normal, when I include it, is like disactivate the "GetAsyncKeyState" function, but both not want to work together. Have you any suggestion?
  • To post as a guest, your comment is unpublished.
    bsacheri@gmail.com · 2 years ago
    This is a clean solution and much better than the wscript.shell popup method. I shared your idea on Stack Overflow with an example showing how to get the user response.
    https://stackoverflow.com/questions/54253640/how-to-insert-a-break-line-in-mshta-exe-pop-up-vba-macro/57512186#57512186
  • To post as a guest, your comment is unpublished.
    Fatih · 4 years ago
    You are just perfect... :lol: :lol: :lol: 8) 8) 8)