פליסנדיק אַ מאַקראָו אין צייט

א זייער פּראָסט פאַל אין פיר: איר דאַרפֿן צו לויפן איינער אָדער מער פון דיין מאַקראָס אין אַ געגעבן צייט אָדער אין אַ זיכער אָפטקייַט. פֿאַר בייַשפּיל, איר האָבן אַ גרויס און שווער באַריכט וואָס דערהייַנטיקט אַ האַלב שעה און איר וואָלט ווי צו לויפן די דערהייַנטיקן אַ האַלב שעה איידער איר אָנקומען אין אַרבעט אין דער מאָרגן. אָדער איר האָבן אַ מאַקראָו וואָס זאָל אויטאָמאַטיש שיקן ימיילז צו עמפּלוייז אין אַ ספּעסיפיעד אָפטקייַט. אָדער, ווען איר אַרבעט מיט אַ פּיוואָטטאַבלע, איר ווילן צו דערהייַנטיקן עס יעדער 10 סעקונדעס, און אַזוי אויף.

זאל ס קוק אין וואָס עקססעל און Windows האָבן די פיייקייט צו ינסטרומענט דעם.

פליסנדיק אַ מאַקראָו אין אַ געגעבן אָפטקייַט

די יזיאַסט וועג צו טאָן דאָס איז צו נוצן די געבויט-אין וובאַ אופֿן אַפּפּליקאַטיאָן.אָנטימעא וואָס לויפט די ספּעסיפיעד מאַקראָו אין די ספּעסיפיעד צייט. לאָמיר דאָס פֿאַרשטיין מיט אַ פּראַקטישן בײַשפּיל.

עפֿן די וויסואַל באַסיק רעדאַקטאָר מיט די קנעפּל מיט די זעלבע נאָמען אויף די קוויטל דעוועלאָפּער (דעוועלאָפּער) אָדער קלאַוויאַטור דורכוועג אַלט+פקסנומקס, אַרייַנלייגן אַ נייַ מאָדולע דורך די מעניו אַרייַנלייגן - מאָדולע און קאָפּיע די פאלגענדע קאָד דאָרט:

טונקל טימעטאָרון 'גלאבאלע וועריאַבאַלז ווו דער ווייַטער לויפן צייַט איז סטאָרד' דאָס איז דער הויפּט מאַקראָו סוב מימאַקראָ () אַפּפּליקאַטיאָן. קאַלקולאַטע 'ריקאַלקיאַלייט די בוך ראַנגע ("אַ 1"). ינטעריאָר. קאָלאָרינדעקס = ינט (רנד () * 56) צעל A1 מיט אַ טראַפ קאָליר :) רופן NextRun 'לויפן די NextRun מאַקראָו צו שטעלן די ווייַטער לויפן צייט סוף סוב' דעם מאַקראָו שטעלט די צייט פֿאַר די ווייַטער לויפן פון די הויפּט מאַקראָו סוב NextRun () TimeToRun = Now + TimeValue ("00: 00:03") 'לייג 3 סעקונדעס צו די קראַנט צייט Application.OnTime TimeToRun, "MyMacro" 'פּלאַן די ווייַטער לויפן סוף סוב 'מאַקראָ צו אָנהייבן די איבערחזרן סיקוואַנס סוב אָנהייב () רופן NextRun End Sub' מאַקראָו צו האַלטן די איבערחזרן סיקוואַנס. Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub  

זאל ס רעכענען אויס וואָס ס וואָס דאָ.

ערשטער, מיר דאַרפֿן אַ בייַטעוודיק וואָס וועט קראָם די צייט פון דער ווייַטער לויפן פון אונדזער מאַקראָו - איך גערופן עס TimeToRun. ביטע טאָן אַז דער אינהאַלט פון דעם בייַטעוודיק מוזן זיין בארעכטיגט פֿאַר אַלע אונדזער סאַבסאַקוואַנט מאַקראָס, אַזוי מיר דאַרפֿן צו מאַכן עס גלאבאלע, ד"ה דערקלערן אין די אָנהייב פון די מאָדולע איידער דער ערשטער סאַב.

ווייַטער קומט אונדזער הויפּט מאַקראָו מימאַקראָ, וואָס וועט דורכפירן די הויפּט אַרבעט - צו ריקאַלקיאַלייט דעם בוך מיט דעם אופֿן אַפּפּליקאַטיאָן.קאַלקולאַטע. צו מאַכן עס קלירער, איך צוגעגעבן די פאָרמולע =TDATE () צו די בלאַט אין צעל A1, וואָס דיספּלייז די דאַטע און צייט - ווען ריקאַלקיאַלייטיד, די אינהאַלט וועט זיין דערהייַנטיקט רעכט פֿאַר אונדזער אויגן (נאָר קער אויף די אַרויסווייַזן פון סעקונדעס אין דער צעל פֿאָרמאַט). פֿאַר עקסטרע שפּאַס, איך אויך צוגעגעבן צו די מאַקראָו די באַפֿעל צו פּלאָמבירן צעל A1 מיט אַ ראַנדאַמלי אויסגעקליבן קאָליר (די קאָליר קאָד איז אַן ינטאַדזשער אין די קייט 0..56, וואָס איז דזשענערייטאַד דורך די פֿונקציע Rnd און ראָונדס אַרויף צו אַ גאַנץ פונקציע ינט).

מאַקראָו NextRun מוסיף צו די פריערדיקע ווערט TimeToRun נאָך 3 סעקונדעס און דעמאָלט סקעדזשולז די ווייַטער לויפן פון די הויפּט מאַקראָו מימאַקראָ פֿאַר דעם נייַ צייַט. פון קורס, אין פיר, איר קענען נוצן קיין אנדערע צייט ינטערוואַלז איר דאַרפֿן דורך באַשטעטיקן די פאַנגקשאַנז אַרגומענטן TimeValue אין די פֿאָרמאַט hh:mm:ss.

און לעסאָף, נאָר פֿאַר קאַנוויניאַנס, מער סיקוואַנס קאַטער מאַקראָס זענען צוגעגעבן. היים און זייַן קאַמפּלישאַן ענדיקן. די לעצטע ניצט די פערט אופֿן אַרגומענט צו ברעכן די סיקוואַנס. צו דער צייַט גלייַך פאַלש.

גאַנץ אויב איר לויפן די מאַקראָו היים, דעמאָלט דער גאנצער קעראַסעל וועט דרייען, און מיר וועלן זען די פאלגענדע בילד אויף די בלאַט:

איר קענען האַלטן די סיקוואַנס דורך פליסנדיק, ריספּעקטיוולי, די מאַקראָו ענדיקן. פֿאַר קאַנוויניאַנס, איר קענען באַשטימען קלאַוויאַטור דורכוועג צו ביידע מאַקראָס ניצן די באַפֿעל מאַקראָס - אָפּציעס קוויטל דעוועלאָפּער (דעוועלאָפּער - מאַקראָס - אָפּציעס).

פליסנדיק אַ מאַקראָו אויף אַ פּלאַן

פון קורס, אַלץ דיסקרייבד אויבן איז מעגלעך בלויז אויב איר האָבן Microsoft Excel פליסנדיק און אונדזער טעקע איז אָפן אין עס. איצט לאָמיר קוקן אין אַ מער קאָמפּליצירט פאַל: איר דאַרפֿן צו לויפן עקססעל לויט אַ געגעבן פּלאַן, פֿאַר בייַשפּיל, יעדער טאָג בייַ 5:00, עפענען אַ גרויס און קאָמפּליצירט באַריכט אין עס און דערהייַנטיקן אַלע קאַנעקשאַנז און פֿראגן אין עס אַזוי אַז עס וועט זיין גרייט ווען מיר אָנקומען אין אַרבעט 🙂

אין אַזאַ אַ סיטואַציע, עס איז בעסער צו נוצן Windows Scheduler - אַ פּראָגראַם ספּעשאַלי געבויט אין קיין ווערסיע פון ​​​​Windows וואָס קענען דורכפירן ספּעסיפיעד אַקשאַנז אויף אַ פּלאַן. אין פאַקט, איר זענט שוין ניצן עס אָן וויסן עס, ווייַל דיין פּיסי קעסיידער טשעק פֿאַר דערהייַנטיקונגען, דאַונלאָודז נייַ אַנטי-ווירוס דאַטאַבייסיז, סינגקראַנייז וואָלקן פאָלדערס, אאז"ו ו. דאָס איז אַלע די אַרבעט פון די סטשעדולער. אַזוי אונדזער אַרבעט איז צו לייגן צו די יגזיסטינג טאַסקס אנדערן איינער וואָס וועט קאַטער עקססעל און עפענען די ספּעסאַפייד טעקע אין עס. און מיר וועלן הענגען אונדזער מאַקראָו אויף דער געשעעניש וואָרקבאָאָק_עפֿן דעם טעקע - און די פּראָבלעם איז סאַלווד.

איך ווילן צו וואָרענען איר גלייך אַז ארבעטן מיט די סטשעדולער קען דאַרפן אַוואַנסירטע באַניצער רעכט, אַזוי אויב איר קענען נישט געפֿינען די קאַמאַנדז און פאַנגקשאַנז דיסקרייבד אונטן אויף דיין אַרבעט קאָמפּיוטער אין די אָפיס, קאָנטאַקט דיין IT ספּעשאַלאַסץ פֿאַר הילף.

לאָנטשינג די סטשעדולער

אַזוי לאָזן ס אָנהייבן די סטשעדולער. צו טאָן דאָס, איר קענען:

  • רעכט גיט אויף די קנעפּל אָנהייב און קלייַבן Computer Management (קאָמפּיוטער פאַרוואַלטונג)
  • סעלעקטירן אין קאָנטראָל פּאַנעל: אַדמיניסטראַציע - טאַסק סטשעדולער (קאָנטראָל פּאַנעל - אַדמיניסטראַטיווע מכשירים - טאַסק סטשעדולער)
  • אויסקלייַבן פון די הויפּט מעניו אָנהייב - אַקסעסעריז - סיסטעם מכשירים - טאַסק סטשעדולער
  • דרוק קלאַוויאַטור דורכוועג געווינען+R, אַרייַן taskchd.msc און דרוקן אַרייַן

The following window should appear on the screen (I have an English version, but you can also have a version):

פליסנדיק אַ מאַקראָו אין צייט

שאַפֿן אַ אַרבעט

צו שאַפֿן אַ נייַע אַרבעט מיט אַ פּשוט שריט-דורך-שריט מאַזעק, דריקט אויף די לינק שאַפֿן אַ פּשוט אַרבעט (שאַפֿן יקערדיק טאַסק) אין די רעכט טאַפליע.

אין דער ערשטער שריט פון די מאַזעק, אַרייַן די נאָמען און באַשרייַבונג פון די אַרבעט צו זיין באשאפן:

פליסנדיק אַ מאַקראָו אין צייט

דריקט אויף די קנעפּל ווייַטער (ווייַטער) און אין דער ווייַטער שריט מיר אויסקלייַבן אַ צינגל - די קאַטער אָפטקייַט אָדער אַ געשעעניש וואָס וועט קאַטער אונדזער אַרבעט (למשל, קער אויף די קאָמפּיוטער):

פליסנדיק אַ מאַקראָו אין צייט

אויב איר האָט אויסדערוויילט טעגלעך (טעגלעך), און אין דער ווייַטער שריט איר וועט דאַרפֿן צו אויסקלייַבן אַ ספּעציפיש צייט, אָנהייב טאָג פון די סיקוואַנס און שריט (יעדער 2 טאָג, 5 טאָג, אאז"ו ו):

פליסנדיק אַ מאַקראָו אין צייט

דער ווייַטער שריט איז צו קלייַבן אַן אַקציע - לויפן די פּראָגראַם (אָנהייב אַ פּראָגראַם):

פליסנדיק אַ מאַקראָו אין צייט

און צום סוף, די מערסט טשיקאַווע זאַך איז וואָס פּונקט דאַרף זיין געעפנט:

פליסנדיק אַ מאַקראָו אין צייט

אין די פּראָגראַם אָדער שריפט (פּראָגראַם / שריפט) איר דאַרפֿן צו אַרייַן דעם דרך צו Microsoft Excel ווי אַ פּראָגראַם, ד"ה גלייַך צו די עקסעקוטאַבלע. אויף פאַרשידענע קאָמפּיוטערס מיט פאַרשידענע ווערסיעס פון Windows און אָפפיסע, די טעקע קען זיין אין פאַרשידענע פאָלדערס, אַזוי דאָ זענען עטלעכע וועגן צו געפֿינען זיין אָרט:

  • רעכט גיט אויף די ייקאַן (דורכוועג) צו קאַטער עקססעל אויף די דעסקטאַפּ אָדער אין די טאַסקבאַר און סעלעקטירן דעם באַפֿעל מאַטעריאַלס (פּראָפּערטיעס), און דערנאָך אין די פֿענצטער וואָס אָפּענס, נאָכמאַכן דעם דרך פון די שורה ציל:

    פליסנדיק אַ מאַקראָו אין צייט                      פליסנדיק אַ מאַקראָו אין צייט

  • עפֿענען קיין עקססעל וואָרקבאָאָק, און דעמאָלט עפענען טאַסק מאַנאַגער (טאַסק מאַנאַגער) פּושינג קטרל+אַלט+פון און רעכט גיט אויף די שורה Microsoft Excel, קלייַבן אַ באַפֿעל מאַטעריאַלס (פּראָפּערטיעס). אין די פֿענצטער וואָס עפענען, איר קענען נאָכמאַכן דעם דרך, ניט פאַרגעסן צו לייגן אַ באַקלאַש צו עס און EXCEL.EXE אין די סוף:

    פליסנדיק אַ מאַקראָו אין צייט              פליסנדיק אַ מאַקראָו אין צייט

  • עפֿענען עקססעל, עפֿענען וויסואַל באַסיק רעדאַקטאָר מיט קלאַוויאַטור דורכוועג אַלט+פקסנומקס, עפענען טאַפליע באַלדיק אַ קאָמבינאַציע פון קטרל+G, אַרייַן די באַפֿעל אין עס:

    ? אַפּפּליקאַטיאָן.פּאַט

    ... און גיט אויף אַרייַן

    פליסנדיק אַ מאַקראָו אין צייט

    נאָכמאַכן די ריזאַלטינג דרך, ניט פאַרגעסן צו לייגן אַ באַקלאַש צו עס און EXCEL.EXE אין די סוף.

אין די לייג אַרגומענטן (אַפּשאַנאַל) (לייג אַרגומענטן (אַפּשאַנאַל)) איר דאַרפֿן צו אַרייַנלייגן די פול וועג צו דעם בוך מיט די מאַקראָו וואָס מיר ווילן צו עפענען.

ווען אַלץ איז אריין, גיט אויף ווייַטער און דעמאָלט ענדיקן (פאַרטיק). די אַרבעט זאָל זיין מוסיף צו די אַלגעמיינע רשימה:

פליסנדיק אַ מאַקראָו אין צייט

עס איז באַקוועם צו פירן די באשאפן אַרבעט מיט די קנעפּלעך אויף די רעכט. דאָ איר קענען פּרובירן די אַרבעט דורך לויפן עס מיד (לויפן)אָן ווארטן פֿאַר די ספּעסאַפייד צייַט. איר קענען טעמפּערעראַלי דיאַקטיווייט אַ אַרבעט (דיסייבאַל)אַזוי אַז עס סטאַפּס פליסנדיק פֿאַר אַ צייט, אַזאַ ווי דיין וואַקאַציע. נו, איר קענען שטענדיק טוישן די פּאַראַמעטערס (דאַטעס, צייט, טעקע נאָמען) דורך די קנעפּל מאַטעריאַלס (פּראָפּערטיעס).

לייג אַ מאַקראָו צו עפענען אַ טעקע

איצט עס בלייבט צו הענגען אין אונדזער בוך די קאַטער פון די מאַקראָו מיר דאַרפֿן אויף דער טעקע עפֿן געשעעניש. צו טאָן דאָס, עפֿענען דעם בוך און גיין צו די וויסואַל באַסיק רעדאַקטאָר ניצן די קלאַוויאַטור דורכוועג אַלט+פקסנומקס אָדער קנעפּלעך וויסואַל באַסיק קוויטל דעוועלאָפּער (דעוועלאָפּער). אין די פֿענצטער וואָס עפענען אין דער אויבערשטער לינקס ווינקל, איר דאַרפֿן צו געפֿינען אונדזער טעקע אויף דעם בוים און טאָפּל-גיט צו עפֿענען די מאָדולע דעם בוך (דאס וואָרקבאָאָק).

אויב איר טאָן ניט זען דעם פֿענצטער אין די וויסואַל באַסיק רעדאַקטאָר, איר קענען עפֿענען עס דורך די מעניו View - פּראָיעקט Explorer.

אין די מאָדולע פֿענצטער וואָס אָפּענס, לייגן אַ בוך עפֿן געשעעניש האַנדלער דורך סעלעקטינג עס פֿון די קאַפּ-אַראָפּ רשימות אין די שפּיץ וואָרקבאָאָק и עפענען, ריספּעקטיוולי:

פליסנדיק אַ מאַקראָו אין צייט

א פּראָצעדור מוסטער זאָל דערשייַנען אויף דעם עקראַן. וואָרקבאָאָק_עפֿן, ווו צווישן די שורות פּריוואַט סוב и סוף סאַב און איר דאַרפֿן צו אַרייַנלייגן די וובאַ קאַמאַנדז וואָס זאָל זיין אויטאָמאַטיש עקסאַקיוטאַד ווען דעם עקססעל וואָרקבאָאָק איז עפן, ווען די סטשעדולער עפֿנט עס לויט די פּלאַן. דאָ זענען עטלעכע נוציק אָפּציעס פֿאַר אָווערקלאָקקינג:

  • דאס וואָרקבאָאָק. רעפרעשאַלל - רעפרעשיז אַלע פונדרויסנדיק דאַטן קוויריז, פּאָווער קווערי פֿראגן און פּיוואָטטאַבלעס. די מערסט ווערסאַטאַל אָפּציע. נאָר טאָן ניט פאַרגעסן צו לאָזן קאַנעקשאַנז צו פונדרויסנדיק דאַטן דורך פעליקייַט און דערהייַנטיקן לינקס דורך טעקע - אָפּציעס - טראַסט צענטער - טראַסט צענטער אָפּציעס - פונדרויסנדיק אינהאַלט, אַנדערש, ווען איר עפענען דעם בוך, אַ נאָרמאַל ווארענונג וועט דערשייַנען און עקססעל, אָן אַפּדייטינג עפּעס, וועט וואַרטן פֿאַר דיין ברכה אין די פאָרעם פון קליקינג אויף די קנעפּל געבן אינהאַלט (געבן אינהאַלט):

    פליסנדיק אַ מאַקראָו אין צייט

  • אַקטיוועוואָרקבאָאָק.קאָננעקטיאָנס ("קאָננעקטיאָן_נאַמע"). דערפרישן - אַפּדייטינג דאַטן אויף די Connection_Name פֿאַרבינדונג.
  • שיץ ("Sheet5"). PivotTables ("PivotTable1«). PivotCache.Refresh - אַפּדייטינג אַ איין דרייפּונקט טיש געהייסן PivotTable1 אויף די בלאַט שעעטקסנומקס.
  • אַפּפּליקאַטיאָן.קאַלקולאַטע - ריקאַלקיאַליישאַן פון אַלע עפענען עקססעל וואָרקבאָאָקס.
  • אַפּפּליקאַטיאָן. קאַלקולאַטע פול רעבוילד - געצווונגען ריקאַלקיאַליישאַן פון אַלע פאָרמולאַס און ריבילדינג אַלע דיפּענדאַנסיז צווישן סעלז אין אַלע עפענען וואָרקבאָאָקס (עקוויוואַלענט צו שייַעך-אַרייַן אַלע פאָרמולאַס).
  • ווערקשיץ ("רעפּאָרט"). פּרינטאָוט – דרוקן בלאַט פּיקס.
  • רופן MyMacro - לויפן אַ מאַקראָו געהייסן מימאַקראָ.
  • דאס וואָרקבאָאָק.היט - היט דעם קראַנט בוך
  • ThisWorkbooks.SaveAs “D: ArchiveReport” & Replace(איצט, “:”, “-“) & “.xlsx” - היט דעם בוך אין אַ טעקע ד: אַרקייוו אונטערן נאמען פּיקס מיט דאַטע און צייט צוגעלייגט צו דעם נאָמען.

אויב איר ווילט אַז די מאַקראָו זאָל זיין עקסאַקיוטאַד בלויז ווען די טעקע איז אָפּענעד דורך די סטשעדולער ביי 5:00, און ניט יעדער מאָל ווען דער באַניצער אָפּענס די וואָרקבאָאָק בעשאַס די אַרבעט טאָג, עס איז זינען צו לייגן אַ צייט טשעק, למשל:

אויב פֿאָרמאַט (איצט, "ה: מם") = "05:00" דעמאָלט ThisWorkbook.RefreshAll  

אַז ס אַלע. דו זאלסט נישט פאַרגעסן צו ראַטעווען דיין וואָרקבאָאָק אין אַ מאַקראָו-ענייבאַלד פֿאָרמאַט (קסלסם אָדער קסלסב) און איר קענען בעשאָלעם פאַרמאַכן עקססעל און גיין היים, לאָזן דיין קאָמפּיוטער אויף. אין אַ געגעבן מאָמענט (אפילו אויב די פּיסי איז פארשפארט), די סטשעדולער וועט קאַטער עקססעל און עפענען די ספּעסיפיעד טעקע אין עס, און אונדזער מאַקראָו וועט דורכפירן די פּראָוגראַמד אַקשאַנז. און איר וועט לוקסוריאַטע אין בעט בשעת דיין שווער באַריכט איז אויטאָמאַטיש ריקאַלקיאַלייטיד - שיינקייט! 🙂

  • וואָס זענען מאַקראָס, ווי צו נוצן זיי, ווו צו אַרייַנלייגן וויסואַל באַסיק קאָד אין עקססעל
  • ווי צו שאַפֿן דיין אייגענע מאַקראָו לייג-אין פֿאַר עקססעל
  • ווי צו נוצן די פערזענלעכע מאַקראָו וואָרקבאָאָק ווי אַ ביבליאָטעק פֿאַר דיין מאַקראָס אין עקססעל

לאָזן אַ ענטפֿערן