דילוג לתוכן

תכנות

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 ודומיו מערכים אחרים), פונקציות בעלות שם, וכו' ע"ש בקישור.

  • שדה טקסט לא ניתן לבחירה במסכים צרים

    הועבר
    3
    0 הצבעות
    3 פוסטים
    158 צפיות
    איש נחמדא

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

    @איש-נחמד יתכן מאוד שבמסכים צרים השדה מוסתר ע"י אלמנט בעל z-index גבוה משלו.

    במקרה שלי מדובר באלמנט offcanvas (בוטסטראפ 5) שפותח פופאפ. ה z-index של הפופאפ יותר גבוה משל ה-offcanvas.
    פתרתי את זה לבסוף עם הוספה של

    data-bs-dismiss="offcanvas"

    שסוגר את ה-offcanvas בלחיצה על הכפתור שפותח את הפופאפ.

  • ספריית nodemailer והאבטחה של גוגל

    5
    0 הצבעות
    5 פוסטים
    225 צפיות
    אפר שריפהא

    @katz אמר בספריית nodemailer והאבטחה של גוגל:

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

    אם עושים אימות דו שלבי
    ניתן לעשות סיסמ ה לאפליקציה ואין לה את הבעיות הנ"ל שיש בהתרת גישה לאפליקציות ברמה נמוכה

  • פתיחת מסד נתונים ללא סיסמה ב C#

    הועבר
    9
    0 הצבעות
    9 פוסטים
    345 צפיות
    clickoneC

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

    שאר הדברים לובנו אתמול בשיחה ביננו 🙂 כולל הדיון של להעיף את אחראי הDB בפרוייקט 😛

  • סליקת אשראי באמצעות JSON דרך חשבון נדרים פלוס

    הועבר
    7
    0 הצבעות
    7 פוסטים
    2k צפיות
    ש.ב.ש

    @יוס
    תודה רבה,
    זה עזר לי

  • נושא זה נמחק!

    1
    0 הצבעות
    1 פוסטים
    6 צפיות
    אין תגובות
  • תוסף VSCODE לחיבור SSH

    4
    0 הצבעות
    4 פוסטים
    137 צפיות
    רפאלר

    @davidnead להלן מדריך מפורט עבור השימוש בתוסף Remote - SSH של Microsoft.

  • חיבור SSH לטרמינל ישירות מוינדוס

    25
    3 הצבעות
    25 פוסטים
    452 צפיות
    nigunN

    @davidnead אמר בחיבור SSH לטרמינל ישירות מוינדוס:

    @dovid אמר בחיבור SSH לטרמינל ישירות מוינדוס:

    @davidnead פתח בכאלה מקרים נושא חדש, תודה מראש.

    פתחתי לאחרונה קצת יותר מידי נושאים חדשים... 😞

    כל המרבה הרי זה משובח

  • מחיקת ערכים מסטרינג בצד שמאל, אקסס

    4
    0 הצבעות
    4 פוסטים
    61 צפיות
    OdedDvirO

    @chagold שמא טעית בניסוח? אם כוונתך לחתוך את 15 התווים הראשונים, תוכל להשתמש בפונקציה Mid, שמחזירה חלק ממחרוזת, ולדלג על 15 התווים הראשונים.
    כיון שהפרמטר האחרון Length הוא אופציונאלי, תוכל להשמיטו ולכתוב פשוט כך:

    Mid(your_string, 16)

    זה מתאים לכל סוגי המחרוזות, ארוכות מ-15 תוים או לא, ואז השאילתא תהיה כך:

    Update TblBanks Set BankName = Mid([BankName],16)
  • api ל SQLServer לא מקומי

    11
    0 הצבעות
    11 פוסטים
    198 צפיות
    OdedDvirO

    @יוסף-בן-שמעון אמר בapi ל SQLServer לא מקומי:

    אין לך מה לחשוש בקשר לאבטחה של שרת X, החיבור יוצא משרת X ולא נכנס אליו, שרת Y צריך לחשוש מכניסות לא מורשות לשרת שלו.

    התשובה של @yossiz היתה זהירה יותר, כמו שציין שפרטי הכניסה לשרת Y נמצאים בשרת X, לכן מן הראוי לחשוש גם לאבטחה של X.

  • נושא זה נמחק!

    הועבר
    1
    0 הצבעות
    1 פוסטים
    47 צפיות
    אין תגובות
  • המלצה על קורס "מנאנד לטטריס" - איך עובד מחשב מא' עד ת'

    5
    14 הצבעות
    5 פוסטים
    190 צפיות
    D

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

  • עזרה דחופה ב ANGULAR

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

    @רפאל תודה אני ינסה

  • חבילה לרכיב מיילים פנימיים NODE

    הועבר
    6
    0 הצבעות
    6 פוסטים
    201 צפיות
    D

    @ayali אמר בחבילה לרכיב מיילים פנימיים NODE:

    @davidnead לא הבנת אותי לא צריך לפתח אלא לפתוח חשבון מייל שאיתו תתנהל ובעזרת התיקיה הזו אתה יכול מאד בפשטות לשלוח מיילים למי שאתה רוצה מתוך המייל שלך (כדאי לפתוח חשבון נפרד כי צריך לבטל את ההגנה של החשבון)

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

  • תבניות אתרים על NODEJS

    הועבר
    17
    2 הצבעות
    17 פוסטים
    339 צפיות
    D

    @dovid אמר בתבניות אתרים על NODEJS:

    @davidnead אין לי מענה...

    אם בארזים נפלה שלהבת... איזובי הקיר יצטרכו לעבוד עם וורדפרס...

  • נושא זה נמחק!

    הועבר
    1
    1 הצבעות
    1 פוסטים
    31 צפיות
    אין תגובות
  • אקסס - סינון שדות נתונים לדוח מתוך טופס

    הועבר
    9
    0 הצבעות
    9 פוסטים
    304 צפיות
    הללוהוה

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

    @מוישלה
    אני מכיר תוכנה בדיוק בשביל זה
    אתה שם איזה טבלה שאתה רוצה
    ובוחר איזה עמודות ואיזה שדות לייצא ולפי איזה מיון

    נו נשמח לשמוע עוד על התוכנה, ולקבל קישור...

  • איך לחבר לינקפד לשרת SQL

    הועבר
    6
    1 הצבעות
    6 פוסטים
    223 צפיות
    dovidD

    @אוריי ראשית ענית ל@רפאל שלא ממין השאלה, הוא שאל עם איזה טכניקה אתה רוצה לעבוד והוא המליץ על linq2sql שזה הפריט הראשון בתמונה שהבאת.

    שנית, עדיף שתעלה צילומי מסך עם השדות שאתה לא יודע למלא, אחרת מי שעונה לך נדרש לכתוב מדריך שלם.

  • נושא זה נמחק!

    1
    0 הצבעות
    1 פוסטים
    2 צפיות
    אין תגובות
  • בקשה | עדכון ווינדוס 7 לשעון חורף/קיץ

    הועבר
    11
    0 הצבעות
    11 פוסטים
    493 צפיות
    B

    בסופו של דבר מצאתי אפשרות להוריד את העדכון מפה
    ל64 סביות
    https://www.microsoft.com/he-il/download/details.aspx?id=39811
    ל32סביות
    https://www.microsoft.com/he-il/download/details.aspx?id=39827
    וזה סידר את הבעיה ב"ה
    שיהיה לתועלת מי שצריך גם

  • הורדת קבצים ב angular ו node js

    הועבר
    24
    0 הצבעות
    24 פוסטים
    767 צפיות
    yossizY

    @ayali אמר בהורדת קבצים ב angular ו node js:

    @yossiz upload אתה מתכון לפונקצית ההורדה?

    כן. הנתיב להוריד קובץ הוא http://localhost:8400/upload/filename.xyz כאשר מחליפים את filename.xyz בשם הקובץ הנכון

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