איך לשלוח נוטיפיקציות מאקסל?
במדריך הזה, אני אראה כיצד לשלוח נוטיפיקציות מאקסל.
אנחנו נלמד כיצד ליצור תהליך שעושה:
- סורק קובץ Excel או Google Sheets כל כמה דקות, גם אם האקסל לא עובד כרגע.
- במידה והוא מזהה תנאי מסויים - הוא שולח התראה ל-2 מקומות:
- התרעה בשולחן העבודה של Windows
- התרעה בטלפון הסלולרי, כלומר נוטיפיקציה.
מה התרחיש שעבורו נבנה את הקובץ?
פעמים רבות, יש לנו רשת במשרד, וכמה אנשים עובדים על אותו קובץ. מדי פעם מישהו משנה משהו בקובץ. ואנחנו רוצים שכאשר כל מיני תנאים מתקיימים - נקבל על כך נוטיפיקציה במחשב + בטלפון, גם אם הקובץ לא היה פתוח באותו רגע.
כדי להדגים את התרחיש הזה, מה שעשיתי הוא כך - טבלת האקסל שלי מכילה מספר עמודות, ואחת העמודות היא Status. אני רוצה שנוטיפיקציה תישלח לסמארטפון כאשר שורה בעמודה סטטוס - מכילה את המילה “חריגה”. זה יהיה התנאי שלנו להדגמה הזו.
בחלק הראשון אני אראה איך עושים זאת באקסל, אז מי שמעוניין רק בנוטיפיקציות מ- Google Sheets - שיקפוץ לחלק השני.
כיצד נעשה זאת - איך נשלח נוטיפיקציה מ- Excel אל הטלפון והמחשב ?
- כדי לגרום לתהליך לרוץ כל מספר דקות, נשתמש בתוכנה מתזמן המשימות Task Scheduler , זוהי תוכנה שכלולה ב-Windows, ומאפשר לתזמן הרצה של תוכנות בזמנים קבועים.
- את התהליך עצמו - אנחנו נכתוב בתור קוד ב-PowerShell (אין צורך לדעת לתכנת - אני נותן את קובץ הקוד מוכן).
- ולצורך שליחת הנוטיפיקציה לטלפון החכם, נשתמש באפליקציה שנקראת PushOver.
הערה: האפליקציה PushOver עולה 5$ חד פעמית, ולכן בחרתי בה. אומנם קיימים פתרונות דומים חינמיים לגמרי, אך מניסיוני איתם, יש להם חסרונות באבטחת מידע, וגם ביציבות לעומת PushOver. לכן אני ממליץ על PushOver בתור אפליקציה יציבה, במחיר חד פעמי נמוך מאוד. אציין כי יש גם 30 ימי התנסות חינם.
מה זה PowerShell ?
PowerShell הוא תוכנה לאוטומציה, שהיא חלק מ- Windows, ומאפשר להריץ קטעי קוד שיבצעו פעולות במחשב.
לצורך המדריך אני אסביר רק כיצד להפעיל את כל המרכיבים יחד. אני לא ארד לעומק של הקוד ב- PowerShell, אך למי שמעוניין, הוספתי הערות רבות בגוף הקוד.
שלב ראשון - הורדת קובץ ה- PowerShell
לחצו כאן , והורידו אליכם את קובץ ה- PowerShell שמכיל את הקוד.
כדי שהקוד ירוץ ויסרוק את קובץ האקסל שלכם, נדרשים עוד כמה שלבים. אנחנו צריכים לומר לו היכן נמצא קובץ האקסל שהוא צריך לסרוק, וכמו כן, צריך גם לגרום לו לשלוח את הנוטיפיקציה לטלפון שלכם. מייד נבצע את 2 השלבים האלו.
שלב שני - ביטול החסימה של הקובץ
ראשית - הקובץ הזה מכווץ, ולכן צריך לחלץ אותו: לחצו מקש ימני על הקובץ, ואז “חילוץ הכל”.
כיוון שזה קובץ שמכיל קוד, אז באופן ברירת מחדל, הוא נחסם על ידי ווינדוס. אנחנו נשחרר את החסימה בצורה הבאה: קליק ימני על קובץ ה-PowerShell שהורדנו -> “הצג אפשרויות נוספות” -> בחרו Properties (מאפיינים) -> בתחתית החלון סמנו וי בתיבת Unblock (בטל חסימה) ולחצו OK.
זוהי המחשה:

7 שלבים הפכו לאחד. יש לך תהליך כזה?
השאירו טלפון — נדבר על זה. הפגישה הראשונה בחינם.
שלב שלישי - קובץ אקסל
מרכז העניינים שלנו, הוא קובץ אקסל. לצורך ההדגמה, אפשר ללחוץ פה, ולהוריד קובץ אקסל לדוגמה.
כדי שנוטיפיקציה תישלח - צריך שיהיה תנאי מסויים.
כי הרי אנחנו לא רוצים לשלוח נוטיפיקציה על כל דבר קטן, אלא רק במקרה וקרה משהו, שמצריך תשומת לב מיוחדת.
אז התנאי שאני רוצה לענות עליו, הוא שאם בעמודה Status יש את המילה “חריגה” אז אני רוצה נוטיפיקציה לטלפון ולמחשב.
חשוב! אני לא רוצה לקבל נוטיפיקציה על שורה מסויימת יותר מפעם אחת. זאת אומרת, שהיכן שהוא - צריך לשמור את המידע של “איזה שורות קיבלו כבר נוטיפיקציה”.
הקוד שכתבתי בקובץ PowerShell - יודע לעשות בדיוק את זה. הוא שומר בקובץ צדדי, את השורות בקובץ שכבר קיבלו נוטיפיקציה, וכך הוא יודע לא לשלוח שוב נוטיפיקציה על שורות באקסל - שכבר התרחשו.
כיוון שגם קובץ האקסל יורד מהאתר, ונחסם על ידי Windows, אז כדי לשחרר את החסימה, נפתח את הקובץ, ונלחץ אישור בפס הצהוב שמופיע למעלה.
שלב רביעי - העתקת המיקום של הקובץ
- פתחו את התיקיה שבה נמצא הקובץ
- לחיצה ימנית בעכבר
- בחרו באפשרות “העתקה כנתיב”
זהו, המיקום של הקובץ הועתק לזיכרון, ועכשיו נשתמש בו.
שלב חמישי - להדביק את נתיב הקובץ בתוך הקוד של PowerShell
עכשיו, צריך לומר לקוד ה-PowerShell, איפה נמצא קובץ ה- Excel שלנו.
כמובן - זוהי רק המחשה, ואחרי שתנסו עם הדוגמה שלי, המטרה היא כמובן, שתשנו את זה לקובץ שלכם, שמכיל טבלה שלכם וכו'.
נפתח את קובץ ה- PowerShell
טיפ - אם פתחתם וכל התוכן מופיע מיושר לצד ימין, תלחצו על Ctrl+Shift בצד שמאל של המקלדת.

בשורות הראשונות של הקובץ, איפה שכתוב Your excel file here תדביקו את הנתיב של קובץ האקסל שהעתקנו לפני כן.
שימו לב - שבכל צד יש רק סימן מרכאות אחד. לא יותר.
שלב שישי - ניסוי נוטיפיקציה לשולחן העבודה
עכשיו רק נעשה ניסוי - כדי לראות את הנוטיפיקציה לשולחן העבודה עובדת.
אומנם, זה עדין לא ישלח נוטיפיקציה לטלפון, אך נעשה זאת מייד בהמשך.
לחצו מקש ימני עם העכבר על קובץ ה- PowerShell - ובחרו באפשרות Run With PowerShell.
יפתח חלון שחור למשך מספר שניות, ואז תקבלו התרעה של Windows.
יופי! השלב הראשון עובד.
שלב שביעי - הרשמה לאתר Push Over
כעת, נוסיף את הנוטיפיקציות לסמארטפון.
לצורך כך, נשתמש באפליקציה שנקראת Push Over .
ההרשמה ל-Pushover היא ממש קצרה ולוקחת דקה. הנה 3 השלבים הפשוטים:
- נרשמים באתר: נכנסים לאתר של Pushover ויוצרים חשבון חדש (שם משתמש וסיסמה, כמו בכל אתר).
- מאמתים את המייל: נכנסים לתיבת המייל שלך, תמצא שם מייל אישור מ-Pushover – פשוט לוחצים על הקישור בפנים כדי להפעיל את החשבון.
- מגדירים “שולח” (באתר זה נקרא Create App): אל תיבהלו מהמילה “אפליקציה”, אתם לא צריכים לתכנת כלום! זה בסך הכל אומר שאתם מייצרים “ערוץ” שישלח לך את ההתראות. לוחצים על הכפתור Create App, נותנים לזה שם פשוט (למשל: “התראות מהמערכת”) וזהו – המערכת תיתן לך קוד מוכן.
בסוף התהליך צריכים להיות לנו 2 קודים מ Pushover :
- קוד משתמש
- קוד אפליקציה
ּ
פתח את קובץ ה PowerShell שהורדת (scan-and-alert.ps1) ו
בשורות הראשונות שלו, החלף את הטקסט הזמני ב-2 הקודים מהשלב הקודם, הקודים שהעתקת:
בשורה של $pushoverUser -> הדבק את המפתח שקיבלת בשלב הראשון, הקוד שמסמל את המשתמש - אותך.
בשורה של $pushoverToken -> הדבק את המפתח שקיבלת בשלב השני - הקוד שמסמל את האפליקציה.
שלב שמיני - התקנת האפליקציה Push Over בטלפון
עכשיו, נתקין את האפליקציה בסמארטפון. פתחו את חנות האפליקציות בטלפון שלכם, והתקינו את Push Over . לאחר ההתקנה, היכנסו ( כלומר Sign In) עם הפרטים שאיתם נרשמתם.
בשלב זה, האפליקציה תציע לכם להגדיר את המכשיר, עליכם רק ללחוץ אישור.
ולבסוף, חשוב מאוד, קריטי! לאשר נוטיפיקציות.
לאחר ההתקנה תגיעו למסך Welcome . וזה הזמן לנסות את המשלוח המלא.
שלב תשיעי - ניסוי של נוטיפיקציה במחשב ובסמארטפון יחד
חשוב לומר - השלב הזה, הוא רק ניסוי כדי לראות שהכל עובד תקין. ברור שאחרי שנסיים, התהליך יעבוד מעצמו בצורה אוטומטית לגמרי. אנחנו מבצעים את הניסוי כדי לראות בעיניים שאכן מתקבלת נוטיפיקציה בטלפון והכל תקין.
ראשית, היכנסו לקובץ האקסל, והוסיפו שורה חדשה שבה כתובה המילה “חריגה” בעמודה Status .
אני מזכיר, הקוד שכתבתי ב Power Shell דואג לזכור שורות שעבורן כבר נשלחה נוטיפיקציה. לכן, חשוב שתוסיפו שורה חדשה, שעבורה תישלח נוטיפיקציה.
לאחר ההוספה, שמרו את קובץ האקסל, וצאו מתוכנת Excel .
כעת, מקש ימני על קובץ ה Power Shell ובחרו באפשרות Run with Power Shell .
מייד תתקבל אצלכם נוטיפיקציה גם במחשב, וגם בטלפון הנייד.
נותר לנו כעת, רק עוד שלב אחד - לתזמן את הקובץ Power Shell כך שיעבוד כל הזמן ברקע.
מה לעשות אם לא התקבלה נוטיפיקציה?
אני מציע לעבור בדקדוק על השלבים הקודמים ולוודא שעשיתם אותם כמו שצריך. ואז להוסיף שורה עם “חריגה” ולנסות שוב.
השלבים שצריך לוודא הם:
- נרשמתם ל Push Over
- נכנסתם למייל שהתקבל מהם ולחצתם על הקישור הנכון כדי לאשר את כתובת המייל.
- יצרתם “אפליקציה” באתר של PushOver .
- העתקתם את הקודים של המשתמש ושל האפליקציה - כל אחד למקום הנכון בקובץ Power Shell .
- דאגתם שתהיה שורה חדשה עם המילה “חריגה” בעמודה Status בקובץ אקסל.
- באפליקציה Pushover אישרתם קבלת נוטיפיקציות.
- הסמארטפון שלכם מחובר לאינטרנט בלי חסימות מיוחדות.
שלב עשירי ואחרון - תזמון בדיקת האקסל, כך שישלח נוטיפיקציה אוטומטית במקרה של חריגה חדשה
עכשיו, למעשה אחרי שסיימנו את כל השלבים, נותר לנו רק להפוך את הקובץ PowerShell לקובץ שעובד ברקע. כך הבדיקה תתבצע במרווחי זמן קבועים: למשל, כל חצי שעה.
השלב הזה פשוט מאוד. ישנה תוכנה מובנה במערכת ההפעלה Windows שנקראת Task Scheduler. תוכנה זו מאפשרת לתזמן הפעלה של תוכנות אחרות.
רגע לפני - העתיקו את הנתיב של קובץ ה PowerShell באמצעות מקש ימני - ואז לחיצה על “העתק כנתיב”. מייד תצטרכו את זה בשלב הבא.
🛠️ שלבי ההגדרה במתזמן המשימות
- לחץ על מקש הווינדוס, הקלד Task Scheduler (או “מתזמן המשימות”) ופתח אותו.
- בתפריט הימני, לחץ על *Create Task… (לא Basic Task, אנחנו צריכים את ההגדרות המתקדמות).
- לשונית General (כללי):
- תן למשימה שם ברור, למשל: Excel_Alert_System.
- קריטי לחלוטין: ודא שמסומן “Run only when user is logged on”.
- לשונית Triggers:
- לחץ על **New…
- שנה את ההגדרה למעלה ל-Daily (יומי).
- תחת אזור ה-Advanced settings, סמן ב-V את האפשרות Repeat task every: ובחר 1 hour (או כל זמן אחר שתרצה).
- באותו שורה, ודא שציר הזמן מוגדר ל-for a duration of: Indefinitely (כדי שזה ירוץ לנצח ולא ייעצר אחרי יום). לחץ OK.
- לשונית Actions (פעולות):
- לחץ על New…
- במיקום של Action ודא שכתוב Start a program.
- בשדה **Program/script הקלד: powershell.exe
- בשדה Add arguments (optional). העתק והדבק את השורה הבאה בדיוק (כולל המרכאות):(כמובן, שנו את הנתיב לנתיב האמיתי שבו שמרת את הסקריפט).
-ExecutionPolicy Bypass -WindowStyle Hidden -File "C:TEMPscan-and-alert.ps1" - לחץ OK ואז OK לסגירת המשימה. זהו, זה רץ!
איך לשלוח נוטיפיקציות לטלפון מתוך Google Sheets
בחלק הזה של המדריך אראה כיצד שולחים נוטיפיקציה לסמארטפון מתוך Google sheets . בניגוד לחלק הקודם בו הסברתי לגבי קובץ אקסל רגיל, הפעם הכל יעבוד בענן של Google , כלומר כל הקוד שנשתמש בו ירוץ על המחשבים של Google ואין צורך במחשב שלנו לצורך ההרצה.
הנחת היסוד שלי כמובן, היא שיש לכם טבלה , קובץ Google sheets , שמכילה עמודה כלשהיא בשם Status . אנחנו נסרוק את העמודה הזו בכל פעם שהקובץ ישתנה, ומייד נשלח נוטיפיקציה לסמארטפון אם הופיעה “חריגה” חדשה.
יש לגוגל תוכנה חינמית טובה לזה - Google Apps Script.
במילים אחרות, Google Apps Script זו אפשרות לכתוב קוד עבור Google Sheets (ועוד…)
הקוד הזה, מאפשר לנו לבדוק אם התרחשו שינויים בגיליון ואז לעשות משהו כתוצאה מזה. במקרה שלנו, אנחנו נשלח בקשה לשירות של PushOver אם התקיים התנאי שלנו.
1. הקוד שיוצר את החיבור
ראשית, נכניס את הקוד שמזהה את השינוי ושולח את ההתראה.
1.פתיחת עורך הקוד המובנה:בתוך הגיליון.
בגיליון הגוגל שיטס שלך, לחץ בתפריט העליון על הרחבות (Extensions) ולאחר מכן על Apps Script. ייפתח לך חלון חדש עם עורך קוד.
2.הדבקת הקוד:החלפת הקוד הקיים.
מחק את כל מה שכתוב שם, והדבק את הקוד הבא. הקפד לעדכן את ה-YOUR_APP_TOKEN וה-YOUR_USER_KEY במפתחות שקיבלת מחשבון ה-Pushover שלך:
function checkIfConditionMet(e) {
var range = e.range;
var sheet = range.getSheet();
// הגנה: אם השינוי קרה בתוך טאב הלוג עצמו, נעצור מיד כדי למנוע לולאה אינסופית
if (sheet.getName() === "Log") return;
var value = range.getValue();
var row = range.getRow();
// התנאי שלנו (עמודה A והערך הוא "דחוף")
if (range.getColumn() === 5 && value === "חריגה") {
// 1. בדיקה: האם כבר שלחנו התראה על השורה הזו בעבר?
if (isRowAlreadyNotified(row)) {
Logger.log("התרעה לשורה " + row + " כבר נשלחה בעבר. מדלג.");
return; // עצירת הפונקציה - לא שולחים שוב!
}
// 2. אם הגענו לכאן, זו שורה חדשה. נשגר את ההתראה
var title = "התראה מגוגל שיטס!";
var message = "השורה " + row + " עודכנה לסטטוס דחוף.";
sendPushoverNotification(title, message);
// 3. שמירת ה-State: נרשום את השורה בטאב הלוג
logRowAsNotified(row);
}
}
// פונקציה שבודקת אם מספר השורה קיים בטאב Log
function isRowAlreadyNotified(rowNumber) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// מחפש טאב בשם Log, אם אין - מייצר אחד
var logSheet = ss.getSheetByName("Log") || ss.insertSheet("Log");
// לוקח את כל המידע שקיים בטאב הלוג
var data = logSheet.getDataRange().getValues();
// עובר שורה-שורה בלוג ובודק אם מספר השורה שלנו כבר שם
for (var i = 0; i < data.length; i++) {
if (data[i][0] == rowNumber) {
return true; // נמצאה התאמה, כבר נשלח!
}
}
return false; // לא נמצא, שורה חדשה
}
// פונקציה שמוסיפה את מספר השורה לטאב Log
function logRowAsNotified(rowNumber) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var logSheet = ss.getSheetByName("Log") || ss.insertSheet("Log");
// מוסיף שורה חדשה עם מספר השורה וחותמת זמן (כדי שיהיה לך סדר בעיניים)
logSheet.appendRow([rowNumber, new Date()]);
}
// פונקציית השליחה ל-Pushover (ללא שינוי)
function sendPushoverNotification(title, message) {
var url = "https://api.pushover.net/1/messages.json";
var payload = {
"token": "YOUR_APP_TOKEN",
"user": "YOUR_USER_KEY",
"title": title,
"message": message
};
var options = {
"method" : "post",
"contentType": "application/json",
"payload" : JSON.stringify(payload)
};
UrlFetchApp.fetch(url, options);
}
3.שמירת הפרויקט:לחיצה על אייקון הדיסקט.
לחץ על כפתור השמירה (אייקון של דיסקט) בחלק העליון של העורך.
2. הגדרת הטריגר האוטומטי (ההפעלה)
כעת נגיד לגוגל להריץ את הקוד הזה בכל פעם שמישהו עורך את הגיליון.
1.מעבר למסך הטריגרים:בתפריט הצדדי.
בצד ימין (או שמאל, תלוי בשפת הממשק) של מסך ה-Apps Script, לחץ על האייקון של השעון (Triggers / טריגרים).
2.הוספת טריגר חדש:כפתור כחול בריבוע התחתון.
לחץ על הכפתור הכחול למטה שנקרא + הוספת טריגר (+ Add Trigger).
3.הגדרת המאפיינים:קישור הפעולה לעריכה.
בחלון שנפתח, הגדר את האפשרויות הבאות:
- בחר פונקציה להפעלה: checkIfConditionMet
- בחר פריסת גרסה: Head
- בחר מקור אירוע: מתוך הגיליון האלקטרוני (From spreadsheet)
- בחר סוג אירוע: בעת עריכה (On edit)
4.אישור הרשאות:שלב קריטי.
לחץ על שמירה (Save). גוגל תקפיץ חלון שיבקש ממך לאשר את ההרשאות של הסקריפט (גישה לגיליון וגישה לשירות חיצוני). לחץ על החשבון שלך -> Advanced (מתקדם) -> Go to… (המשך אל…) ואשר את הגישה.
זהו! ברגע זה, בכל פעם שמישהו יכתוב את המילה “דחוף” בעמודה A, הסקריפט יזהה זאת וישלח התראה מיידית לטלפון שלך דרך Pushover.