Excel, macro: sla het bestand op en sluit het in geval van inactiviteit voor 10 (tps om te zien)

Hallo vrienden,

Ik weet dat er forums zijn gewijd aan Excel, maar ik beproef mijn geluk op Lynkoa omdat ik zie dat er kenners zijn en bovendien weet ik niet veel van macro.

Het doel van deze macro is dat deze start wanneer het bestand wordt geopend en dat het bestand na een bepaalde tijd van inactiviteit wordt opgeslagen en gesloten. Er zijn er meerdere van ons die dit bestand en op verschillende sites gebruiken, en bovendien verlaten we regelmatig onze werkplekken, dus als een van ons vergeet het achter te laten, irriteert dat de anderen.

BIJ VOORBAAT DANK VOOR UW ANTWOORDEN ^_^

Hallo

Voor het starten van een macro bij het openen van Excel zijn er enkele leads op http://www.commentcamarche.net/forum/affich-1903604-vba-executer-une-macro-a-l-ouverture-de-excel

en om het op https://www.developpez.net/forums/d24813/logiciels/microsoft-office/excel/macros-vba-excel/timer-feuille-excel/ te zetten

Vriendelijke groeten

1 like

Bedankt d.roger, ik zal zien of ik het kan en of ik iets begrijp. 

Hier is een bestand dat na 30 seconden zou moeten sluiten zonder het aan te raken (het werkt tenminste voor mij).

Ik heb in ThisWorkbook gebruikt:

Sub Workbook_open()
    Teller = 0
    Blad1.Tempo
Einde Sub

En in feuil1:

Dimteller als geheel getal

Sub Tempo()
    Application.OnTime Now + TimeValue("00:00:01"), "Sheet1.myMacro"
Einde Sub

Sub myMacro()
    Teller = Teller + 1
    Als teller = 30 dan
        Werkmappen ("Test.xlsm-werkmap"). Redden
        ActiveWorkbook.Sluiten
        Sub afsluiten
    Einde als
    
    Blad1.Tempo
Einde Sub

Sub Worksheet_Change (ByVal Doel als bereik)
    Als Target.Count = 0 dan
        Teller = 0
        Blad1.Tempo
    Einde als
Einde Sub

Natuurlijk is het maar een test dus om te controleren, te verbeteren, etc

Vriendelijke groeten

 


classeur_test.xlsm

Enkele wijzigingen naar aanleiding van verschillende tests:

Ik heb in ThisWorkbook gebruikt:

Sub Workbook_open()
    Teller = 0
    Blad1.Tempo
Einde Sub

En in feuil1:

Dimteller als geheel getal

Sub Tempo()
    Application.OnTime Now + TimeValue("00:01:00"), "Sheet1.myMacro"
Einde Sub

Sub myMacro()
    Teller = Teller + 1
    Als teller = 10 dan
        Werkmappen ("Test.xlsm-werkmap"). Redden
        ActiveWorkbook.Sluiten
        Sub afsluiten
    Einde als
    Blad1.Tempo
Einde Sub

Sub Worksheet_Change (ByVal Doel als bereik)
    Als Target.Count <> 0 dan
        Teller = 0
    Einde als
Einde Sub

De belangrijkste veranderingen zitten in de Worksheet_Change-functie, waarbij If Target.Count = 0 wordt omgezet in If Target.Count <> 0, evenals de verwijdering van de Sheet1.Tempo-regel.

Vriendelijke groeten


classeur_test.xlsm

Ik begrijp het niet, ik kan het niet... Als ik je Excel-bestand open, bugt het...


enregistrement_et_fermeture_du_fichier_en_cas_dinactivite_pendant_10.jpg

Toen vertelde hij me: De aanwijzing behoort niet tot de selectie


lindice_nappartient_pas_a_le_selection.png

Bericht dat ik nooit heb gekregen tijdens mijn tests, ik gebruik Excel 2010. Ik weet niet of het een impact kan hebben.

Definitieve code:

Ik heb in ThisWorkbook gebruikt:

Sub Workbook_open()
    Teller = 0
    Blad1.Tempo
Einde Sub

En in feuil1:

Dimteller als geheel getal

Sub Tempo()
    Application.OnTime Now + TimeValue("00:01:00"), "Sheet1.myMacro"
Einde Sub

Sub myMacro()
    Teller = Teller + 1
    Als teller = 10 dan
        Werkboeken(ThisWorkbook.Name). Redden
        ActiveWorkbook.Sluiten
        Sub afsluiten
    Einde als
    
    Blad1.Tempo
Einde Sub

Sub Worksheet_Change (ByVal Doel als bereik)
    Als Target.Count <> 0 dan
        Teller = 0
    Einde als
Einde Sub


classeur_test.xlsm
2 likes