דילוג לתוכן

תכנות

4.7k נושאים 38.7k פוסטים

קטגוריות משנה


  • 22 נושאים
    137 פוסטים
    katzK

    שלום לכולם
    התבקשתי רבות מחברים פיתרון לבעיה הידועה לבצע מיזוג דואר, אך לשמור קובץ PDF נפרד לכל רשומה, עם שם מותאם אישית.

    אפרט כאן במדריך שלב אחר שלב איך לבצע זאת, תהיו איתי עד הסוף מקווה שתהנו...

    נתחיל...

    שלב א:

    ראשית בקובץ ה- Excel של רשימת הנמענים, הוסיפו לטבלת הנתונים ארבעה עמודות בשמות כדלהלן (חשוב שהשמות יהיו מדויקים ללא רווחים מיותרים - לתשומת ליבכם):

    DocFolderPath

    DocFileName

    PdfFolderPath

    PdfFileName

    שלב ב:
    צרו שתי תיקיות נפרדות, אחד לקבצי הפלט בפורמט docx, ואחד לקבצי הקלט בפורמט pdf, העתיקו את נתיב התיקייה של קבצי ה- docx והדביקו אותם עבור כל רשומה בשדה שיצרתם בשם DocFolderPath, לאחמ"כ חזרו על הפעולה והפעם העתיקו את נתיב התיקייה של קובצי ה- PDF והדביקו בשדה PdfFolderPath.
    בשדה DocFileName כתבו את השם של הקובץ עבור הרשומה - ניתן להשתמש בנוסחאות, כמו"כ בשדה PdfFileName כתבו את שם הקובץ כנ"ל.

    שלב ג:
    פתחו את קובץ ה- word והשלימו את פעולת המיזוג כרגיל, עצבו את המסמך כרצונכם.

    שלב ד:
    פתחו את לשונית מפתחים בקובץ ה- word פתחו את עורך הקוד הוסיפו מודל חדש מצו"ב צילום מסך:
    3eb2538f-9ab1-41eb-a1df-452212916da6-image.png

    הדביקו את הקוד הבא:

    Sub MailMergeToPdfBasic() ' Mark the start of the Subroutine (i.e. Macro) and name it "MailMergeToPdf" ' Macro created by Imnoss Ltd ' Please share freely while retaining attribution ' Last Updated 2021-05-03 Dim masterDoc As Document, singleDoc As Document, lastRecordNum As Long ' Create variables ("Post-it Notes") for later use Set masterDoc = ActiveDocument ' Identify the ActiveDocument (foremost doc when Macro run) as "masterDoc" masterDoc.MailMerge.DataSource.ActiveRecord = wdLastRecord ' jump to the last active record (active = ticked in edit recipients) lastRecordNum = masterDoc.MailMerge.DataSource.ActiveRecord ' retrieve the record number of the last active record so we know when to stop masterDoc.MailMerge.DataSource.ActiveRecord = wdFirstRecord ' jump to the first active record (active = ticked in edit recipients) Do While lastRecordNum > 0 ' create a loop, lastRecordNum is used to end the loop by setting to zero (see below) masterDoc.MailMerge.Destination = wdSendToNewDocument ' Identify that we are creating a word docx (and no e.g. an email) masterDoc.MailMerge.DataSource.FirstRecord = masterDoc.MailMerge.DataSource.ActiveRecord ' Limit the selection to just one document by setting the start ... masterDoc.MailMerge.DataSource.LastRecord = masterDoc.MailMerge.DataSource.ActiveRecord ' ... and end points to the active record masterDoc.MailMerge.Execute False ' run the MailMerge based on the above settings (i.e. for one record) Set singleDoc = ActiveDocument ' Identify the ActiveDocument (foremost doc after running the MailMerge) as "singleDoc" singleDoc.SaveAs2 _ FileName:=masterDoc.MailMerge.DataSource.DataFields("DocFolderPath").Value & Application.PathSeparator & _ masterDoc.MailMerge.DataSource.DataFields("DocFileName").Value & ".docx", _ FileFormat:=wdFormatXMLDocument ' Save "singleDoc" as a word docx with the details provided in the DocFolderPath and DocFileName fields in the MailMerge data singleDoc.ExportAsFixedFormat _ OutputFileName:=masterDoc.MailMerge.DataSource.DataFields("PdfFolderPath").Value & Application.PathSeparator & _ masterDoc.MailMerge.DataSource.DataFields("PdfFileName").Value & ".pdf", _ ExportFormat:=wdExportFormatPDF ' Export "singleDoc" as a PDF with the details provided in the PdfFolderPath and PdfFileName fields in the MailMerge data singleDoc.Close False ' Close "singleDoc", the variable "singleDoc" can now be used for the next record when created If masterDoc.MailMerge.DataSource.ActiveRecord >= lastRecordNum Then ' test if we have just created a document for the last record lastRecordNum = 0 ' if so we set lastRecordNum to zero to indicate that the loop should end Else masterDoc.MailMerge.DataSource.ActiveRecord = wdNextRecord ' otherwise go to the next active record End If Loop ' loop back to the Do start End Sub ' Mark the end of the Subroutine

    שלב ה וסיום:
    סגרו את עורך הקוד.
    לחצו על כפתור פקודות מאקרו שבכרטיסיית מפתחים, בחרו את המאקרו בשם MailMergeToPdfBasic ולחצו הפעל מצו"ב צילום מסך
    3890ce69-c0e9-4f30-89ce-3e97b7de750b-image.png

    כעת שבו בנחת והמתינו עד ליצירת כל הקבצים, להנאתכם תפתחו את תיקיות הפלט שיצרתם וגלו שהיא מלאה קבצים קובץ לכל רשומה בשם המתאים שהגדרתם לה.

    מקור

  • ארכיון האתר הקודם והחביב קוד-613

    1k נושאים
    10k פוסטים
    chagoldC

    @אבי אמר בשוב, צילומי הצ'קים בבנקים:

    התעסקתי לאחרונה עם סורקים של חברת MAGTEK, הם ידידותיים ונוחים להתממשקות, אבל כמדומני שהבנקים בישראל מוכנים לקבל סריקות רק מסורקים של חברת PANINI

    @אבי איך יוצרים אתך קשר?

  • 31 נושאים
    133 פוסטים
    Y.Excel.AccessY

    יש כמה נוסחאות חדשות שממש משנות את כללי המשחק בגוגל שיטס:

    CHOOSECOLS לבחירת עמודות ממערך CHOOSEROWS לבחירת שורות ממערך WRAPROWS להמרת מערך חד ממדי לרב ממדי - פריסה לשורות WRAPCOLS כנ"ל - פריסה לעמודות HSTACK ו VSTACK - הפעולה של {} אך בלי סוגריים - לא משמעותי לכאורה

    והעולה על כולנה, סוף סוף:

    LET - ליצירת משתנים.

    כל אלו מצטרפות לפונקציות שנוספו מוקדם יותר -
    https://blog.sheetgo.com/google-sheets-formulas/10-new-google-sheets-functions/

    וכלול בתוכם - LAMBDA, MAP (חלקי - לא עובד לקנן ב MAP ודומיו מערכים אחרים), פונקציות בעלות שם, וכו' ע"ש בקישור.

  • איפה - בקוד המצורף (json2csv)- צריך להמיר לutf8?

    6
    0 הצבעות
    6 פוסטים
    143 צפיות
    yossizY

    למי שתוהה, תו ה-BOM (ובשמה המלא BYTE ORDER MARK) נועד במקור לציין את סדר הבתים שהקובץ משתמש בו כדי להציג מספרים בני 16 או 32 ביטים.
    בקידודים UTF-16 ו-UTF-32 אבני הבסיס הם מספרים בני 16 ו-32 ביטים לכן התו הזה נחוץ (בהעדר מידע מבחוץ) בשביל לזהות את סדר הבתים בו הקובץ משתמש.
    בנוסף, התו שימושי כדי להבחין בין UTF-16 ל-UTF-32 כי ה-BOM מיוצג בצורה שונה בשני הקידודים
    בקידוד UTF-8, אבן הבסיס הוא מספר בן 8 ביטים, שכל המעבדים מייצגים בצורה זהה, לכן אין צורך ב-BOM עבור זיהוי סדר הבתים, (וגם אפשר בקלות לזהות אם קובץ הוא UTF-8 תקין בלי צורך להשתמש ב-BOM), אבל זה יכול להשתמש כסוג של רמז שמדובר (בסבירות גבוה) בקובץ יוניקוד ולא ascii או ansi או משהו אחר
    מייקרוסופט אימצו לעצמם נוהג שלפיה כל קובץ בלי BOM מזוהה כ-ANSI, ועם BOM זה מזוהה כיוניקוד
    לפעמים כשאין צורך ב-BOM זה יכול גם להזיק אם התוכנה מצפה לקבל ASCII ובלי ה-BOM בטקסט פשוט הרי UTF-8 הוא גם ASCII תקין, וה-BOM מקלקל
    במקרה של קובץ CSV עבור אקסל שכולל בתוכו תווים מחוץ לטווח ה-ASCII ה-BOM רק עוזר
    הנ"ל מה שהבנתי מתוך הכתבה בויקיפדיה ש@dovid ציין, ומתוך ה-FAQ הזה באתר הבית של תקן יוניקוד

  • פקד auto complete לapn.net של Mvc

    6
    0 הצבעות
    6 פוסטים
    209 צפיות
    ח

    @clickone הפקדים באמת קלים מאוד, יפים ומועילים
    אלא שלא הצלחתי שפקד הLookup יהיה רק המלצות ולא הכרח
    שיהיה אפשר להשתמש בערכים שאינם ברשימה (בלי שיהיה צורך להוסיף אותם).
    דבר נוסף, לא מצאתי איך להגדיר שיחזיר שדה מסוים שאינו המפתח הראשי
    אשמח לעזרתך או כמובן כל אחד שמכיר או יודע
    יישר כוח

  • פונקציית המתן מספר שניות בגוגל סקריפט

    8
    0 הצבעות
    8 פוסטים
    174 צפיות
    צדיק תמיםצ

    @שמואל-ש @צדיק-תמים כתב בפונקציית המתן מספר שניות בגוגל סקריפט:

    Utilities.sleep

  • שימוש בgmail api בקוד פתוח

    16
    0 הצבעות
    16 פוסטים
    348 צפיות
    dovidD

    @A0533057932 כתב בשימוש בgmail api בקוד פתוח:

    @הפצת-אנקי למה שלא תפתח מייל משלך בגוגל
    ואליו תשלח

    הבנתי שזה היה הרעיון הראשון בנושא, אבל הבעיה שמשתמש יכול לעשות במייל הזה שימושים בעייתיים מגוונים.

  • רשימת סוגי הקבצים, (לשימוש כפרמטר ב-curl_file_create)

    6
    0 הצבעות
    6 פוסטים
    112 צפיות
    dovidD

    @chagold אם אתה משתמש בphp 8 אתה יכול לדלג על פרמטר אופציונלי על ידי מתן שם לפרמטרים:

    curl_file_create(filename: $filename, posted_filename: basename($filename)));

    https://wiki.php.net/rfc/named_params
    הייתה הצעה (שנדחתה) לאפשר דילוג על פרמטרים פה:
    https://wiki.php.net/rfc/skipparams,

  • C# קבלת נתיב קובץ מוחלט בשימוש בכונן רשת

    7
    0 הצבעות
    7 פוסטים
    130 צפיות
    dovidD

    הנה תמונה ממה שקורה אצלי:
    f74094fa-477c-4d32-a975-8a26328682e2-image.png

    שים לב שהשלישי הוא שם לעומת השניים שהם כתובות.

  • שגיאת cors (למרות אישור בצד שרת) רק בשיטת post

    9
    0 הצבעות
    9 פוסטים
    224 צפיות
    dovidD

    @chagold שים לב שזה היה כתוב בשגיאה... שווה לקרוא שגיאות בעיון.

  • עזרה בשימוש ב gmail API ב google script

    4
    0 הצבעות
    4 פוסטים
    251 צפיות
    מנצפכמ

    @אביי כתב בעזרה בשימוש ב gmail API ב google script:

    @מנצפכ כתב בעזרה בשימוש ב gmail API ב google script:

    לסנן את המיילים לפי כתובת id

    ?

    הכוונה שבסקריפט תיצור את המסנן שלך שזה אומר שהוא יחפש רק את "size:1" ויישמור את ה ID של ההודעה שמצא ובפעם הבאה שיסנן מיילים יוסיף לסינון את המיילים שהכתובת ID שלהם שמורה

  • מיילים שונים אם אותו סיומת שמגעים למייל 1

    19
    0 הצבעות
    19 פוסטים
    421 צפיות
    chocolateC

    הדרך שהוזכר של CATCH ALL קיים גם בהמון קליינטים של מייל דוגמת זוהו וכדו.

  • (js) RTL לסקריפט plotly

    הועבר
    39
    0 הצבעות
    39 פוסטים
    945 צפיות
    ה

    בס"ד נמצא הפתרון.
    היה צריך להכניס את הCSS הזה:

    .plot-container{ direction: rtl !important; }

    f22914b6-c778-42d8-ba87-37386b5a2c26-image.png

    תודה ל @צדיק-תמים .

  • Github Copilto לסטודנטים

    10
    10 הצבעות
    10 פוסטים
    316 צפיות
    WWWW

    @חגי כתב בGithub Copilto לסטודנטים:

    @chagold כנראה שהמילים rabbinical college עשו את הרושם שזה מוסד אקדמי, לא?
    סתם אישור כולל לא נראה לי אמור להיות מספק. (בכל מקרה אני אנסה, אבל לא נראה לי שזה יצליח)

    או שזה בגלל האתר באנגלית.
    לכולל ששלחתי אין אתר...

  • מעקב אחרי העכבר בטרמינל

    6
    11 הצבעות
    6 פוסטים
    224 צפיות
    קומפיונטק

    @yossiz אפשר לכאורה לקבל מידע על הזזת העבר מהמערכת הפעלה עם hookים למיניהם.
    אבל באמת החידוש הוא שאפשר לקבל את ציר ה-x וה-y ברמה של הקונסול, ולא ברמה של הפיקסלים במסך. (זה נראה לי מה שהפונקציה getmouse עושה).

  • MYSQL| מפתח unique על 3 עמודות

    3
    0 הצבעות
    3 פוסטים
    120 צפיות
    A

    @יוסף-בן-שמעון כתב בMYSQL| מפתח unique על 3 עמודות:

    בטבלה של הלקוחות ירשמו רק המפתחות הזרים של הטלפונים

    או לחילופין בטבלה של הטלפונים, להכניס ליד כל טלפון id של הלקוח. 😜
    עריכה: ואז אתה גם לא מוגבל כמה טלפונים יש ללקוח.

  • המרת קובץ ג'יבריש כבד

    14
    0 הצבעות
    14 פוסטים
    376 צפיות
    י

    @yyy כתב בהמרת קובץ ג'יבריש כבד:

    @dovid הורדתי קובץ Execl של רחובות ממשרד הפנים (לא מצאתי שם אפשרות ל-JSON - חוץ מ- API שמלכלך לי את המידע עם עוד נתונים).
    אחרי שהורדתי המרתי עם האתר הזה את הקובץ ל-JSON. הבעיה שהאתר מקודד את זה לג'יבריש.

    אולי תוריד שוב ?

  • עזרה תנאי חישוב באקסס

    5
    0 הצבעות
    5 פוסטים
    136 צפיות
    MnccM

    @dovid תודה רבה,
    אין מילים על העזרה...

  • גוגל סקריפט טריגר קבלת מייל

    12
    0 הצבעות
    12 פוסטים
    289 צפיות
    צדיק תמיםצ

    @Y-Excel-Access
    כזה דבר לא אמור לקחת יותר מכמה שניות כל פעם. כשתוסיף קוד "כבד" תיתקל בין כה במגבלות אחרות, אני התייחסתי למקרה שנשאל.

  • לא מצליח להתקין editor TinyMCE בvue2.6

    3
    0 הצבעות
    3 פוסטים
    77 צפיות
    ח

    @chagold כתב בלא מצליח להתקין editor TinyMCE בvue2.6:

    tinymce/tinymce-vue

    תנסה להתקין כך:
    npm i @tinymce/tinymce-vue@3.2.8
    מקור
    https://www.npmjs.com/package/@tinymce/tinymce-vue/v/3.2.8
    https://www.npmjs.com/package/@tinymce/tinymce-vue?activeTab=versions
    1ccf49f0-b51d-49df-8b74-7be8c8978ee8-image.png

  • שרת מסד נתונים, דוקר או עצמאי?

    14
    0 הצבעות
    14 פוסטים
    268 צפיות
    nigunN

    @dovid
    אני מתכוון אם הוא רוצה zero downtime
    ושגם אם השרת עולה באש לא יהיה שניה של downtime.
    אבל לא משנה, זה נושא לדיון אחר.

  • מחפש ספריה js לניתוח נתונים לייבוא

    2
    0 הצבעות
    2 פוסטים
    107 צפיות
    meir lamdanM

    @chagold
    זה משהו מידי כללי. כל אחד צריך ניתוח אחר.

  • הצבת ערך ב-struct (שפת C)

    4
    0 הצבעות
    4 פוסטים
    154 צפיות
    dovidD

    @yossiz יאהוו תודה על היסודיות!

בא תתחבר לדף היומי!