דילוג לתוכן

תכנות

4.6k נושאים 38.2k פוסטים

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


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

  • 1 הצבעות
    8 פוסטים
    150 צפיות
    A

    אתמול בדקתי את postal וmailtrain.
    ההתקנה של postal ממש פשוטה, בממשק ניהול יש הדרכה איך להגדיר SPF וDKIM..

    mailtrain - התקנה נוחה, מתחבר לSMTP או API נתמך. יש ניהול קמפיינים, רשימות, עריכה ויזואלית של טמפלטים, טריגרים לשליחה של קמפיין פר משתמש - לדוגמא שליחת קמפיין X ימים לאחר שמשתמש פתח\הקליק על מייל..

  • מחפש מתכנת בדחיפות להקמת קו טלפון

    הועבר
    14
    0 הצבעות
    14 פוסטים
    535 צפיות
    י. מ. פינסי

    נו נו!!!!!👍 👍

  • מתכנתים - מה תרצו ללמוד בעברית?

    הועבר
    3
    0 הצבעות
    3 פוסטים
    229 צפיות
    נתנאלנ

    אתה יכול בבקשה להפנות למקורות טובים בעברית של full stack js?

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

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

  • עזרה בשאילתת סכומים באקסס

    3
    0 הצבעות
    3 פוסטים
    51 צפיות
    WWWW

    תודה רבה!
    חבל שלא קבלתי התראה שהגבת.
    בסוף מצאתי את הנ"ל כאן: https://stackoverflow.com/questions/11722852/getting-sum-using-sql-with-multiple-conditions

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

  • 1 הצבעות
    1 פוסטים
    48 צפיות
    אין תגובות
  • MEDIAWIKI נמחק המסד נתונים

    5
    0 הצבעות
    5 פוסטים
    91 צפיות
    dovidD

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

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

    המחיקה נחלקת לשניים, א. פינוי שטח זיכרון ששייך אפילו במשתנה, ב. סגירה ופינוי מפורש של משאבים יקרים על ידי המתודה Dispose. מה שכעת אכפת לנו זה לא הזיכרון אלא חיבורים למסד (במקרה שלנו).
    בכתיבת קוד נכון, כל אובייקט שמממש את IDisposable חייבים לכתוב לו בפירוש instance.Dispose() או להשתמש בUsing שעושה זאת עבורינו.
    מפתחי ASP CORE שבנו מחלקה שיוצרת את המופע של הIController בשביל להגיב לבקשה דאגו לקרוא לDispose שלה בסוף מייד אחרי סיום התשובה.
    במקרה של קריאה לDispose התועלת היא מיידית בלי קשר לGC.
    לעמות זאת באובייקטים שלא מממשים IDisposable או שמממשים אבל לא קראו למתודה Dispose אז רק כאשר הGC יגיע אליהם, ויש לו קצב משלו (שקשור אך ורק למצב הזיכרון ולא לבעיות אחרות כמו מס' חיבורים למסד נתונים וכאלה), רק אז ייקרה הDispose.

  • "רענון" טבלה בMYSQL

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

    צריך שיהיה עמודה אחת שהשם שלה למשל batch שזה יהיה מס' או מזהה פעולה.
    בכל הכנסה של מספר יש להכניס מס' אחיד לכלל המספרים שנכנסו יחד איתו בעמודה batch.
    כעת הבעיה נפתרת:

    מבצעים הכנסה של כלל המספרים החדשים
    ביחס למספרים שכבר היו זה שתי אפשרויות:
    א. המספר טלפון הוא מפתח ראשי, במידה כזו אפשר ע"י ON DUPLICATE KEY UPDATE... לעדכן את הbatch בערך הנוכחי
    ב. המספר אינו מפתח ראשי, גם זה מחולק ל2 האם אכפת שיהיה שניים למשך כמה שניות, אם כן אז מצויין שייכנס בינתיים. אם אסור שיהיה כפול, פה כבר צריךIF בשאילתה שמעדכן או מוסיף.

    מוחקים את כלל השורות שהbatch שלהם שונה מהאחרון

  • ערכי screen שלא מתרעננים בVUE

    5
    0 הצבעות
    5 פוסטים
    100 צפיות
    yossizY

    @chagold אמר בערכי screen שלא מתרעננים בVUE:

    זה לא היה אמור להיות בVUE אוטומטית, עם כל שינוי במסך?

    לא. זה בדיוק הנקודה.
    איך VUE מזהה שינויים בדאטה?
    כי כאשר אתה מאתחל מופע של VUE עם מבנה של דאטה, VUE עובר על כל השדות של הדאטה וממיר את המאפיינים לפונקציות get/set. ולכן, בכל שינוי של ערך נקרא פונקציית ה-set שתפקידו להודיע ל-VUE על שינוי הערך.
    אבל איך VUE אמור לזהות שינוי הערך של window.innerWidth שקורה בלי גישה למאפיין אלא על ידי שינוי גודל החלון?
    לכן אני מודיע ל-VUE בכל שינוי גודל החלון על שינוי הערך.

  • שגיאה ב API מול וורדפרס

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

    נכון הבנת

  • כניסה לעולם התיכנות

    13
    1 הצבעות
    13 פוסטים
    292 צפיות
    The shadowT

    @avr416 אמר בכניסה לעולם התיכנות:

    אם יש לך את הספר של ברזיק על JS - לדעתי תתחיל איתו.

    אוקיי
    אני הולך על זה....

  • 0 הצבעות
    9 פוסטים
    124 צפיות
    MusiCodeM

    מצאתי את הבעיה.
    אעדכן שיהיו לי עוד שאלות.

  • קבלת מיקום נוכחי ממשתמש

    הועבר
    33
    0 הצבעות
    33 פוסטים
    535 צפיות
    T

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

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

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

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

    sudo apt-get install php-zip sudo phpenmod zip sudo service apache2 restart
  • 0 הצבעות
    3 פוסטים
    105 צפיות
    A

    אגב, בתחום המפות תמיד כדאי לבדוק גם את OpenStreetMap.
    למשל בשביל מה שאתה מציע - יש את nominatim.org

    דוגמא

  • התקנת DB בקובץ התקנה inno setup

    2
    0 הצבעות
    2 פוסטים
    45 צפיות
    dovidD

    חיפשת בגוגל
    inno setup install mongo
    ?

    אני רואה בגיט קובץ כזה מוכן:
    https://github.com/rexzhang/mongodb-win-install-script/blob/master/mongodb-win-install-script.iss

  • איך פונציית change תזהה גם שינוי בקוד?

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

    https://stackoverflow.com/a/4200383

  • 0 הצבעות
    7 פוסטים
    114 צפיות
    chagoldC

    תודות ל@yossiz שהוסיף לעזור לי באישי

    יש נקודה חשובה בVUE שצריך להכריז על מתודות (וערכיהם), ורק ככה כשהם ישתנו אח"כ הערכים יחושבו.

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

    מקור
    @yossiz תודה רבה!!

  • שכחתי את הסיסמה ב Ubuntu 18.04

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

    קיבלת תשובה נכונה פה
    (או אפשר קל יותר: wsl -u root)

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