Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 8 van 8

Onderwerp: Runtime: Sluiten workbook als aan het werk in een andere workbook

  1. #1
    Vraag is niet opgelost

    Runtime: Sluiten workbook als aan het werk in een andere workbook

    Ik heb een VBA gemaakt en daar een runtime in gezet om het/de workbook te sluiten wanneer er een bepaalde tijd geen actie in is.
    Echter zodra ik in een andere workbook (excelbestand) aan het werk ben (de ActiveWorkbook) krijg ik een fout melding.
    Ik vermoed dat dat komt omdat ik in Thisworkbook een "Private Sub Workbook_Close()" heb staan, waar een bepaalde opslagactie plaats vind. Voor het geval men op het rode kruisje drukt, er wordt dan nl gelijk een back up gemaakt. Dat deel script heb ik hier nu niet bijdehand, maar dat is denk ik niet van belang.

    -Ik vermoed dat doordat ik niet in het workbook aan het werk ben met de VBA er in dat de macro de actie niet kan uitvoeren omdat er een aantal bewerkingen (zoals data in cellen plaatsen (naam gebruiker) etc.) in de "Private Sub Workbook_Close()" staan

    De vraag is hoe krijg ik het bewuste bestand met een runtime actie toch gesloten, wanneer het niet de actieve is?

    In Thisworkbook:
    Code:
     
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
       Application.OnTime EndTime, "CloseWB", , False
       RunTime
    End Sub
    In module:
    Code:
    Public EndTime
    
    ------------------------------------------
    
    Sub RunTime()
       EndTime = Now + TimeValue("00:15:00")
       Application.OnTime EndTime, "CloseWB", , True
    End Sub
    
    ----------------------------------------------------
    
    Sub CloseWB()
         With ThisWorkbook
              .Save
              .Close
       End With
    End Sub
    Nu denk ik aan een VBA code die ondanks dat ik een andere workbook als actief heb de workbook die gesloten moet worden (even) de actieve wordt.

    Kan dat zo ja, hoe?
    Andere oplossing? Iets fouts in de code?

    Dank al vast voor meedenken/oplossen :-)
    Laatst aangepast door Noudthy : 13 juni 2018 om 19:08

  2. #2
    Mega Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Mij lijkt de code in Private Sub Workbook_Close() wel van belang.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  3. #3
    Die kan ik morgen wel plaatsen.

    Maar die loopt als een tierelier, zowel als ik op afsluiten (kruisje) dus close klik en vis runtime maar alleen als dit workbook ook de activeworkbook is.
    Plaatst gegevens in cellen, maakt back up int .txt format plaatst wachtwoorden op tabbladen en slaat op.

  4. #4
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Al je geen nadere specificatie aan de naam van de macro geeft, gaat eExcel ervan uit dat de macro in het actieve werkboek staat.
    Die vindt ie dus niet.
    Je zult aan "CloseWB" de naam van het werkboek moeten toevoegen.
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  5. #5
    Klinkt logisch.
    Kan je me helpen aan een voorbeeld?

  6. #6
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Ik weet niet hoe jouw bestand heet...

    Code:
    Application.OnTime EndTime, "voorbeeld.xlsb!module1.CloseWB", , True
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  7. #7
    Thnx !!
    Ik laat het voor nu.
    Het gaat maar over een paar man die na bewerken het bestand kunnen open laten staan.
    Als die iemand blokkeren is dat bij openen ook zichtbaar en na twee keer gaat hun kop er gewoon af :-)

  8. #8
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Werk je bij een crematorium ?
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Aanbiedingen