הקראת גוגל דוקס/שיטס
-
@ירוק אז אני מצטרף לשאלה
-
@ירוק אתה יכול לשלוח לי את הקובץ שאוכל לבדוק בעצמי?
-
פוסט זה נמחק! -
@אביי-ורבא כתב בהקראת גוגל דוקס/שיטס:
@משתמש-מתחיל אוקיי כתבתי לך כעת קוד קטנטנן שיעלה לך קובץ גוגל דוקס למערכת של ימות.
שים לב שכל 2200 תווים מחולקים לקובץ חדש בגלל מגבלת ההקראה של ימות. ובכדי שההודעות יושמעו בסדר הנכון אז מוגדרת השמעה מהקובץ הנמוך לגבוה ובכל פעם שהסקריפט רץ כל תוכן השלוחה נמחק.
https://docs.google.com/spreadsheets/d/1fK0dgVZXyFcYYuOgc-4PwbISR8HUT4**********RPHELNneQJhG0/copy?usp=sharing
(למחוק את הכוכביות)אני לא דורש על זה כסף, אבל השקעתי בזה ובידע כמה דקות מחיי, אז מי שעושה מזה ביזנע'ס וגם כל מי שרואה לנכון מוזמן ללחוץ כאן
אני יודה לך מאוד ואני חושב שזה יעזור לעוד הרבה משתמשים כי לאחרונה הרבה ביקשו את הראיון הזה בפורום אם תוכל לעשות משהו דומה לגוגל שיטס כלומר שהקובץ יתעדכן אוטומטית מהטבלה והוא ישלח כל שורה בשורה חדשה בקובץ
יהיה גם טוב אם יהיה אפשר להגדיר שיוסיף תו מסוים בין כל תא למשל את התו ,
תודה רבה -
@ירוק עדכנתי את הקובץ, נסה שוב ותעדכן האם עבד
(כמובן שתעדכן את הסקריפט שאצלך מהלינק לעיל) -
@הרב כתב בהקראת גוגל דוקס/שיטס:
אני יודה לך מאוד ואני חושב שזה יעזור לעוד הרבה משתמשים כי לאחרונה הרבה ביקשו את הראיון הזה בפורום אם תוכל לעשות משהו דומה לגוגל שיטס כלומר שהקובץ יתעדכן אוטומטית מהטבלה והוא ישלח כל שורה בשורה חדשה בקובץ
יהיה גם טוב אם יהיה אפשר להגדיר שיוסיף תו מסוים בין כל תא למשל את התו ,יש לי כבר מה שעושה את זה ועשיתי את זה כבר לכמה משתמשים, אבל בגלל שבגוגל שיטס זה קצת יותר מורכב לכן אני חשוב עדיין להשאיר את הטיפול בזה באופן אישי, מי שמעוניין בכזה דבר לגוגל שיטס יכול לפנות אלי למייל.
-
@הרב כתב בהקראת גוגל דוקס/שיטס:
אני יודה לך מאוד ואני חושב שזה יעזור לעוד הרבה משתמשים כי לאחרונה הרבה ביקשו את הראיון הזה בפורום אם תוכל לעשות משהו דומה לגוגל שיטס כלומר שהקובץ יתעדכן אוטומטית מהטבלה והוא ישלח כל שורה בשורה חדשה בקובץ
יהיה גם טוב אם יהיה אפשר להגדיר שיוסיף תו מסוים בין כל תא למשל את התו ,
תודה רבהאני רוצה להציע לך פתרון קטן
תגדיר בכל שורה בשיטס צירוף של כל הנתונים שאתה רוצה שיעלו + ,
(הנוסחה היא =CONCATENATE)
אתה יכול להתנות את זה בתאריכים, תאים מלאים וריקים ושלל האופציות שקיימות באקסל
כך שיצא לך עמודה שבה יהיה בכל שורה את הטקסט שאתה רוצה שיעלה לימות
לאחר מכן תגדיר בתא אחר צירוף של כל עמודת הסיכום
עכשיו מגיע חלק קצת יותר קשה והוא העתקת הסקריפט של @אביי-ורבא לApps Script של השיטס שלך והתאמתו לנתונים שלך בשיטס
דהיינו, בחמש מתוך שש השורות הראשונות של הקוד מוגדרים מספר המערכת, סיסמא, שלוחה, קישור לדוקס וזמן עדכון.let user = SpreadsheetApp.getActiveSheet().getRange('set!B1').getValue(); // מס' המערכת let pass = SpreadsheetApp.getActiveSheet().getRange('set!B2').getValue();; // סיסמה let nt = SpreadsheetApp.getActiveSheet().getRange('set!B3').getValue();; // מס' השלוחה, בדוגמא כאן עולה לשלוחה 1 let path = `ivr2:/${nt}/`; let link_document = SpreadsheetApp.getActiveSheet().getRange('set!B4').getValue(); // קישור לקובץ הגוגל דוקס let trigger_d = SpreadsheetApp.getActiveSheet().getRange('set!B5').getValue();
יש לשנות את מיקומי התאים המופיעים בקוד לתאים שבהם המידע מופיע אצלך (או לכתוב את הפרטים ישירות בקוד-אבל אני לא בטוח שזה יעבוד ככה)
את התא שמפיע בשורה של הקישור לגוגל סקריפט תשנה לתא שמכיל את הטקסט שמיועד להעלאה
לאחר מכן צריך לטפל בשורות האלה (בסקריפט זה שורה 17-18)var doc = DocumentApp.openByUrl(link_document); var body_doc = doc.getText();
ולכתוב במקום שתיהם את השורה הבאה
var body_doc = link_document;
לאחר מכן יש לשמור ולהריץ את הקודעיין בעריכה
בהצלחה
(אל תעשה גיליון חדש בשביל כל זה כי הקוד ישתבש)
אם תרצה אוכל לעשות כמו השיטס של @אביי-ורבא שיכיל את הקוד אלא שתצטרך להעתיק את כל הנתונים לשיטס הזה
[אני מוכרח לציין ששאלתי את @אביי-ורבא אם יש לו בעיה שאפרסם את הפוסט הזה ולא רק שלא היתה לו בעיה אלא הוא כתב לי: "ממש לא, אדרבה בשמחה! "]עריכה:
דגשים חשובים
א. אם אתה מאחסן את הערכים בתוך הקוד עצמו שים גרש לפני הערך ואחריו גם אם מדובר במספרים
ב. אם את מאחסן את הערכים בטבלה שים לב שהם מוגדרים כטקסט רגיל
ג. שים לב לאחת השורות האחרונות ממש בקוד שם המערכת מודיעה על הצלחת ההתקנהlet installation_busy_2 = SpreadsheetApp.getActiveSheet().getRange("set!B12").setValue(`היי, הכל מוכן!! תהנה!!`);
אם לגיליון שלך לא קוראים "set" או שאתה לא רוצה שהפלט יהיה בתא B12 תתקן את זה...
ד. כשכתבתי לשמור ולהריץ התכוונתי הרצה דרך Apps Script - ואז שים לב שאתה מריץ את הפונקציה triggers
@אביי-ורבא סידר בשיטס שלו הרצה ישירות מהשיטס אבל אם אתה כבר נכנס לApps Script תעשה את זה דרך שם... -
@משתמש-מתחיל
אולי אתה יודע איך אני משנה את שם הקובץ ואיך אני מבטל את ההגבלה של כמות התווים שכל קובץ יכול להכיל
אני רוצה את זה לעידכון קובץ ListAllInformation
תודה רבה -
@אביי-ורבא
אני צריך להשמיע ללקוחות משהו שמשתנה כמה פעמים ביום
ואני משתמש עם מודול השמעת הודעה בלבד שזה משמיע את קובץM0002
ויש כמה אנשים שעורכים את ההודעההאם תוכל לעשות שהגוגל דוקס יעדכן כל פעם מחדש את קובץ
M0002
תודה רבה -
@אביי-ורבא יישר כח!
עובד מצויין -
@אברהם-מנס כתב בהקראת גוגל דוקס/שיטס:
@משתמש-מתחיל
אולי אתה יודע איך אני משנה את שם הקובץ ואיך אני מבטל את ההגבלה של כמות התווים שכל קובץ יכול להכיל
אני רוצה את זה לעידכון קובץ ListAllInformation
תודה רבהלביטול ההגבלה פשוט תשנה בשורה הזו לאיזה מספר שתרצה
var y = 2200;
לגבי עדכון הקובץ זה כבר נשמע לי יותר מסובך אבל אולי אם תשנה בקוד איפה שמופיע "tts" ל-"ini"
ובשורה הזו תשנה מ-let filePath = `${path}${newName}.tts`;
ל-
let filePath = `${path}ListAllInformation.ini`;
אולי זה יעבוד, אבל אני ממש לא בטוח
חוץ מזה שבקוד מתבצעת החלפה של המון סימנים שנראה לי קצת יהרסו לך את תוכן הקובץ ListAllInformation
לדוגמא החלפת הסימן @ במילה שטרודל ועוד ועוד... -
@איסר כתב בהקראת גוגל דוקס/שיטס:
@אביי-ורבא
אני צריך להשמיע ללקוחות משהו שמשתנה כמה פעמים ביום
ואני משתמש עם מודול השמעת הודעה בלבד שזה משמיע את קובץM0002
ויש כמה אנשים שעורכים את ההודעההאם תוכל לעשות שהגוגל דוקס יעדכן כל פעם מחדש את קובץ
M0002
תודה רבהתערוך בקוד את השורה הזו
let filePath = `${path}${newName}.tts`;
ל-
let filePath = `${path}M0002.tts`;
וכמובן אל תשכח להכניס את הנתיב הנכון לקובץ
-
@משתמש-מתחיל כתב בהקראת גוגל דוקס/שיטס:
חוץ מזה שבקוד מתבצעת החלפה של המון סימנים שנראה לי קצת יהרסו לך את תוכן הקובץ ListAllInformation
לדוגמא החלפת הסימן @ במילה שטרודל ועוד ועודתמיד השאלה היא מה בדיוק תרצה לעשות אם תעלה לכאן אמייל יתכן ואוכל לעזור לך צריך לסדר את זה פשוט יותר טוב כדי שזה יעבוד
בברכה@הלי כתב בהקראת גוגל דוקס/שיטס:
תוכל למחוק מיד אחרי זה מאחר שאני מקבל הודעה במייל
-
@הרב אם עדיין לא הסתדרת ותרצה עזרה תוכל להעלות כתובת אמייל ואשמח לצור אתך קשר ולעזור לך
(תוכל למחוק מיד אחרי זה מאחר שאני מקבל הודעה במייל) -
@איסר כתב בהקראת גוגל דוקס/שיטס:
האם תוכל לעשות שהגוגל דוקס יעדכן כל פעם מחדש את קובץ M0002
תגדיר טריגר להרצה כל שעה נניח... (אפשר גם לעשות בכל עריכה של הקובץ, אבל אני חושב שזה קצת מוגזם )
-
@אביי-ורבא כתב בהקראת גוגל דוקס/שיטס:
אפשר גם לעשות בכל עריכה של הקובץ
יש את זה כאופציה בהוספת טריגר או שצריך לזה נוסחה?
תודה -
@הלי זה לא טריגר להתקנה זה צריך להיות בפונקציה בשם
()onEdit
שקוראת לפונקציה שאתה רוצה להפעיל. -
@אביי-ורבא מדהים
רק שאדע שהבנתי נכון מה שאכתוב בפונקציה הנ"ל תופעל בעת עריכת הקובץ? (אפשר גם קריאה לפונקציה אחרת?)
לא משנה באיזה תא . נכון?
רק שאלה קטנה מה זה האות e שמופיעה שם (כי ראיתי שאפשר להשתמש גם בלי זה)
תודה רבה רבה. -
@הלי ציטוט
הפרמטר e בשמות הפונקציות שלמעלה הוא אובייקט אירוע שמועבר לפונקציה. האובייקט מכיל מידע לגבי ההקשר שגרם להפעלת הטריגר, אבל השימוש בו הוא אופציונלי.
-
@הלי כתב בהקראת גוגל דוקס/שיטס:
לא משנה באיזה תא . נכון?
נכון.
אפשר לעשות שרק עריכה בתא מסויים, ע"י תנאי שבודק האם התא שנערך (באמצעות הפרמטר e) הוא התא שצויין...function onEdit(e) { var sheetName = "שם הגיליון"; var cellH11 = "A1"; // התא המדובר var sheet_e = e.source.getActiveSheet().getName(); // קבלת שם הגיליון שבו בוצעה העריכה var cell_e = e.range.getA1Notation(); // קבלת התא שנערך Logger.log(e) Logger.log(sheet_e) Logger.log(cell_e) if (sheet_e !== sheetName || cell_e !== cellH11) { // התנאי שרק עם ערכי הגיליון והתא הנערך תואמים לאמור לעיל Logger.log("The edited cell is not A1 = " + sheet_e + cell_e) } else { Logger.log("הטווח שנערך אינו הטווח שצויין") } }