דילוג לתוכן

תכנות

4.8k נושאים 39.6k פוסטים

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


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

  • 13278106011170710 - איזה פורמט של זמן זה?

    3
    1 הצבעות
    3 פוסטים
    88 צפיות
    dovidD

    @yossiz אכן... אבל תנוחם בעבד לווה לאיש מלווה, גם לי לא קל.. תודה רבה!

  • שליחת PUT ב- PHP

    הועבר
    2
    0 הצבעות
    2 פוסטים
    135 צפיות
    yossizY

    @ד-ב יש פה דוגמה. רק תחליף את ה-POST ל-PUT

  • הצמדת אלמנט לגבול

    הועבר
    2
    0 הצבעות
    2 פוסטים
    79 צפיות
    חגיח

    @yyy

    div { pointer-events: none; position: relative; } div::after { contents: ''; border: 1px black solid; border-radius: 5px; pointer-events: all; bottom: 0; } <div onclick="buttonFunction();" />

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

  • הרצה אוטומטית של קוד

    הועבר
    18
    0 הצבעות
    18 פוסטים
    562 צפיות
    א

    @aaron בדיוק מה שאני צריך תודה
    נראה לי שאין לי אפשרות בשרת למשימה מתוזמנת

  • לחזור לתחילת הסקריפט ב PHP

    הועבר
    17
    0 הצבעות
    17 פוסטים
    428 צפיות
    ASSA

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

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

  • חיבור למסד נתונים בדוקר 2

    17
    0 הצבעות
    17 פוסטים
    296 צפיות
    רפאלר

    @שואף נכון, בעבר Expose היה מאפשר גישה בין קונטיינרים, ובהעדרו, היה ניתן לגשת לתהליך רק מתוך הקונטיינר עצמו.

  • ספרייה לשליטה מרחוק

    הועבר
    2
    0 הצבעות
    2 פוסטים
    147 צפיות
    אין תגובות
  • אתחול אובייקט ב-TS.

    הועבר
    8
    0 הצבעות
    8 פוסטים
    374 צפיות
    רפאלר

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

    ההשלכות המצערות:

    האובייקט לא יכיל את המתודות והProperties של המחלקה. ההצבות (בתוך הבנאי ומחוצה לו) לא יתבצעו (התגלית שהערך של השדה Y במופע שיצרת יהיה זהה לundefined לא אמורה להיות מפתיעה במיוחד כעת). השימוש בisPrototypeOf ו instanceof לא יניב את התוצאה הרצויה (וכן כל המתודות שבPrototype).

    מסקנה:

    היכן שהשימוש בObject literal נחוץ (ומתאפשר) השתמש בInterface לציון הType (עקב הצורך בערך דיפולטיבי עבור Y האפשרות לא רלוונטית עבורך) צור מופעים עבור מחלקות באמצעות הבנאי: class ZeroYCoordinate { public readonly y: number = 0; constructor(public x: number) { } } const points = [new ZeroYCoordinate(4)]

    ** שינוי Prototype אפשרי באמצעות השימוש בsetPrototypeOf, אם כי הדבר אינו מהווה פתרון מקיף לכל הבעיות שציינתי.

  • קוד PHP להמרת קבצי שמע לוידאו

    הועבר
    23
    0 הצבעות
    23 פוסטים
    557 צפיות
    ASSA

    @שמואל4
    אוקי
    אני לא מכיר כלום בלינוקס, והקוד הזה אמור לרוץ בוונדוס.
    אז יש פתרון בשבילי?

  • עזרה בחיבור למסד נתונים בדוקר

    31
    1 הצבעות
    31 פוסטים
    535 צפיות
    שואףש

    @aaron תבורך מפי עליון!!! עזרת לי מאוד מאוד

  • השתתפות בפרוייקט גדול.

    הועבר
    6
    0 הצבעות
    6 פוסטים
    408 צפיות
    O

    @ass באמת שלא רציתי להרפות את ידיך אלא רק לתת לך את הידע שתוכל להתכונן

  • נוסחה לחישוב מידות C#

    3
    0 הצבעות
    3 פוסטים
    161 צפיות
    נ

    @יוסף-בן-שמעון אשריך! עוזר לי מאד!

  • עזרה| תקשור בapi בשפת הphp לפלטפורמת nodebb

    הועבר
    8
    1 הצבעות
    8 פוסטים
    403 צפיות
    שמואל4ש

    @mgm-ivr אממ... נכון, אבל הפורום מיועד שתיהיה משתמש, לא רובוט

  • שגיאת Login.php כבר בשימוש

    הועבר
    34
    1 הצבעות
    34 פוסטים
    825 צפיות
    ASSA

    @שמואל4
    אוקיי, אני יתחיל לעבוד על זה כי זה ממש משנה לי את כל הפרוייקט.
    תודה ענקית על כל העזרה!

  • שליפת כתובת URL מתוך mysql

    הועבר
    7
    0 הצבעות
    7 פוסטים
    179 צפיות
    ASSA

    @מוטי-אורן
    תודה רבה לך ול @שמואל4

  • קבלת רשימת הבנקים בישראל+מספרי הסניפים הקייימים

    הועבר
    7
    0 הצבעות
    7 פוסטים
    290 צפיות
    אבי 203א

    @clickone תודה. פרט חשוב שלא ידעתי.

  • הגדרת localhost עם דומיין

    הועבר
    6
    1 הצבעות
    6 פוסטים
    245 צפיות
    yossizY

    @ass לא מצאתי

  • בעיה ב API של youtube

    הועבר
    15
    0 הצבעות
    15 פוסטים
    610 צפיות
    avramkA

    @yossiz אמר בבעיה ב API של youtube:

    @ass הגעת לפורום של הזקנים העצבניים... 🙂 לכן במקום התשובה שציפית לקבל תקבל שיחת מוסר ארוכה מטובלת בכמה שיעורי חיים...
    (טוב, לא כולם זקנים, אני מציג רק את עצמי)
    השאלה לא מספיק ממוקדת. אי אפשר לצפות שמישהו יעבור על כל המדריך שציינת ויבדוק למה לא עובד הקוד אצלך. (ובנוסף יש את האפשרות המאוד סבירה שהבעיה קשורה למשהו שבכלל לא כתבת בשאלה)
    התהליך הנורמלי של מתכנתים הוא לנסות למקד את הבעיה.
    כלומר לנסות למצוא איזה שורה של הקוד לא מתנהגת בצורה הצפוייה.
    איך?
    א) PHP פולטת שגיאות ואזהרות שונות, האם אתה מקבל אותם בפלט? (אם לא, תדאג שכן תקבל אותם). האם אתה רואה בפלט הזה שום שגיאות או אזהרות שיכולות להיות קשורות לנושא?
    ב) אם לא קיבלת שום שגיאה, תעבור על הקוד שלב שלב ותוסיף פקודות print שידפיסו את המצב הנוכחי, כלומר, ערכים של משתנים קשורים, או סתם לוג שהגעת לשלב הזה בהצלחה. תנסה לזהות אם המצב הנוכחי לא מתאים למה שציפית. (זו דרך לא מקצועית של דיבוג אבל נהוג מאוד בקהילת מפתחי PHP... נקרא בעגה המקצועית - כלומר אצלי... - בנימה של זלזול: console log debugging)
    ג) או תשתמש בדיבאגר אמיתי ותצעד צעד צעד דרך הקוד לבדוק איפה הוא נכשל. יש את xdebug עבור PHP.

    אני לא מומחה PHP. אולי יש למומחי ה-PHP פה טיפים יותר יעילים לדיבוג בעיות

    אתה פשוט אלוף

  • VS code web Extensions

    2
    0 הצבעות
    2 פוסטים
    84 צפיות
    אין תגובות
  • עזרה בשליחת נתונים בPOST לימות המשיח|PHP

    הועבר
    4
    0 הצבעות
    4 פוסטים
    146 צפיות
    mgm ivrM

    @yossiz אמר בעזרה בשליחת נתונים בPOST לימות המשיח|PHP:

    @mgm-ivr
    ענו לך פה...
    שים לב לחוקי הפורום. יש להם הגיון...

    צודק

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