דילוג לתוכן

תכנות

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

  • 3 הצבעות
    1 פוסטים
    91 צפיות
    אין תגובות
  • הגדרת מתודה של אובייקט ב-JS

    4
    2 הצבעות
    4 פוסטים
    182 צפיות
    yossizY

    @dovid כתב בהגדרת מתודה של אובייקט ב-JS:

    לא הייתה פה שאלה מעשית

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

    אגב, בעוד שאני עובד על הבנת הקוד ראיתי דבר שלא ידעתי מקודם:
    יש שני הבדלים ב-JS בין פונקציה למתודה

    פונקציה let x = { foo: function() {} } יכול להיות constructor. כלומר, הקוד הזה לא יזרוק שגיאה: new x.foo לא יכול להשתמש במילת המפתח super מתודה let x = { foo() {} } לא יכול להיות בנאי, הקוד: new x.foo יזרוק שגיאה יכול להשתמש במילת המפתח super כדי לציין את הפרוטוטייפ שלו. האיגוד של super לפורטוטייפ הוא סטטי וזה לא משתנה לפי צורת הקריאה של הפונקציה, בניגוד לאיגוד של this
  • nodebb מסרב להתחבר לwebsocket

    26
    0 הצבעות
    26 פוסטים
    522 צפיות
    ש

    @dovid @yossiz @A0533057932 אחרי התקנת שרת מחדש ללא שיפור
    @צדיק-תמים ניסה בעצמו לתקן את זה עד שעלה שהבעיה היא בפרוקסי של קלאודפלייר (בלי הבנה למה זה חסם את הקריאות)
    ביטלנו את הפרוקסי והכל עובד

    תודה רבה לכל מי שעזר
    והעיקר ל @צדיק-תמים הצדיק!

  • Dual wan לתשתית סיבים

    8
    0 הצבעות
    8 פוסטים
    194 צפיות
    aaaaA

    @שמואל4 כתב בDual wan לתשתית סיבים:

    @aaaa אתה עונה תשובה מטעה ולא נכונה, כי אתה אומר "וודאי כמו DSL" שצריך "לשלם על שתי תשתיות", וזה לא המצב DSL.

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

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

    GPON עובד ודאי עם PPPoE (ויכול לעבוד גם עם DHCP או כל צורה אחרת שמהנדסי הרשת של ה ISP יבחרו)
    זה שה isp מירט כל PPPoE שתיצור לא סותר את זה שהפקטות שנשלחות עטופות בסיביות של ה PPPoE.
    לדוגמה בתשתית רימון, כל יוזר וססימה שתחייג איתם תקבל את הספק של רימון
    אבל אם תחייג עם יוזר של LR תצא עם ספק של LR.

  • 2 הצבעות
    10 פוסטים
    482 צפיות
    צדיק תמיםצ

    @מטעמים ראה כאן

  • אובנטו 22.04 לא מצליח להתקין GMP

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

    נהוג להוציא עלוני סיכומה של שנה, אז חשבתי לכתוב איזו ברכה מליצית ל @yossiz על העובדה שהוא אף פעם לא מרפה, וגם אחרי שהוא עונה בפורום הוא ממשיך להיות זמין בפרטי ולהמשיך את שרשרת התקלות עד לסיום המוצלח
    אבל מעיינות המליצות יבשו כנחל אכזב וכנהר אשר יכזבו מימיו
    פניתי למכונה האדישה, וגם היא איכזבה כמובן...
    https://chatgpt.com/share/66f9af49-a850-800d-a6ce-e74f6f607a79

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

  • 17 הצבעות
    4 פוסטים
    287 צפיות
    ש

    @yossiz כתב במתחיל לבנות אתר? תשקול להתשמש ב-filament:

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

    כנראה שאתה לא מכיר את כל האפשרויות של filament
    כי נכון להיום יש הרבה הרבה אפשרויות.

  • 1 הצבעות
    4 פוסטים
    124 צפיות
    מוטי מןמ

    @mekev כתב בהתייעצות איך נכון לשמור תנועות ביתרת משתמש במסד נתונים:

    טרנזקציה

    מה זה?

  • תבנית אקסס מוכנה - חדר מיון

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

    לגבי ניהול מטופלים, אני לא מכיר תבנית מוכנה

    יש את התבנית Access Patient Visit Hospital Medical Doctor Database Templates [Access-Templates.Com].accdb מהאתר access-templates, אבל אין בה יותר מדי, רק 3 טפסים ושאילתא.

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

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

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

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

  • נתיב יחסי לpython interpreter ולקבצים בvscode

    5
    0 הצבעות
    5 פוסטים
    114 צפיות
    האדם החושבה

    @A0533057932
    ניסיתי, לא עובד.

  • עזרה דחופה בהרצת קוד באנגולר

    5
    0 הצבעות
    5 פוסטים
    213 צפיות
    רחלי2ר

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

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

    https://netfree.link/wiki/התקנת_תעודה_ב-Wordpress

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

    @avi-rz עד כמה שאני מכיר, אין אלקטרון עבור אנדרויד
    אבל יש expo ו-ionic שאכן יעזרו לך

    https://docs.expo.dev/versions/latest/sdk/print https://capawesome.io/plugins/printer
  • 0 הצבעות
    4 פוסטים
    434 צפיות
    מ

    ראיתי בעבר בפורומים שלהם שזה לא עובד על דביאן באפלקציה של ווינדוס,
    האפשרות שיש זה להתקין דביאן על VirtualBox או VMware Workstation
    וכך זה גם עובד אצלי

  • 0 הצבעות
    1 פוסטים
    125 צפיות
    אין תגובות
  • קוד עבור WPF PlaceHolder TextBox

    1
    0 הצבעות
    1 פוסטים
    59 צפיות
    אין תגובות
  • TypeScript - קימפול מספר קבצים לקובץ אחד

    10
    0 הצבעות
    10 פוסטים
    308 צפיות
    צדיק תמיםצ

    זה ההוראות הרשמיות של Vite: ‫ https://vitejs.dev/guide/build.html#browser-compatibility
    אם הגדרת את Rollup בעצמו זה גם מצויין, הרי כשאתה עושה build ב-Vite אתה סה"כ מפעיל את Rollup דרך התצורה והברירות מחדל של ‫Vite

    The bundler behind Vite
    Developing for the web? Vite pre-configures
    Rollup for you with sensible defaults and
    powerful plugins while giving you an insanely
    fast development server.

    אגב, לחלק של ההמרה מ-TypeScript ל-JavaScript ועוד כמה משימות טרנספלציה כמו JSX גם Vite משתמשת בesbuild, לחלק של הבניה הם משתמשים בRollup כי לטענתם ה-plugin API של esbuild לא מספיק גמיש

  • 0 הצבעות
    6 פוסטים
    198 צפיות
    אורייא

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

  • איך להסיר ניקוד וטעמים מטקסט בc#

    7
    1 הצבעות
    7 פוסטים
    411 צפיות
    pcinfogmachP

    @dovid

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

    הנה הקוד המתוקן עבור שימוש ב- stringbuilder

    public static string RemoveHebrewDiactrics(this string input) { var sb = new StringBuilder(input.Length); foreach (var c in input) if (c == '־') sb.Append(' '); else if (c > 1487 || c < 1425) sb.Append(c); return sb.ToString(); }
  • מדריך: איך להציג עברית ב- C# Console APP

    4
    0 הצבעות
    4 פוסטים
    333 צפיות
    pcinfogmachP

    @pcinfogmach

    שימו לב! ב-.net (לא framework) יש לפעול לפי ההוראות כאן כדי להפעיל את ה-encoding שאיננו מובנה

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