Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA - Makro, które zatrzymuje inne makro ?

seba78787878 28 Lip 2016 22:14 1437 2
  • #1 28 Lip 2016 22:14
    seba78787878
    Poziom 6  

    Witam

    Próbuje stworzyć makro dla "zapominalskich". Przejdźmy do sedna. Po wciśnięciu OK w msgboxie makro odlicza np. 30 sekund po czym usuwa otwarty plik. Ale jeśli wcześniej włączę makro usuwające plik to plik zostanie natychmiast usunięty. Czyli makro odliczające czas musiałoby zostać wyłączone by kolejne mogło zostać włączone. Udało mi się na znalezionych przykładach napisać coś takiego:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Działa usuwanie po 30 sekundach. Gdy uruchamiam makro usuwające przed skończeniem odliczania wyskakuje błąd " Program Microsoft Office przestał działać, Program przestał działać poprawnie z powodu wystąpienia problemu. System Windows zamknie program i powiadomi Cię, jeśli istnieje dostępne rozwiązanie". Pewnie dlatego, ze makro odliczające nie zostało wyłączone. Czy vba można skorzystać z kodu "nazwa_makra stop" albo coś podobnego? Może ktoś wpadnie na inne lepsze podejście do mojego problemu.

    0 2
  • Pomocny post
    #2 29 Lip 2016 06:51
    adamas_nt
    Moderator Programowanie

    Po mojemu nie zadziała, bo vb "zajęte" jest wykonywaniem pętli.

    Spróbuj z wywołaniem co sekundę makra "kontrolnego" i zmienną "decyzyjną". Makro 'kasowanie', to w tym przypadku po prostu skok na skróty .

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #3 29 Lip 2016 21:06
    seba78787878
    Poziom 6  

    Super działa. Dzięki !!! Świetny sposób. Tylko muszę to teraz odpowiednio złączyć z moim makrem.

    0