דילוג לתוכן

תכנות

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

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


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

  • קבצי CSV מוצגים כגיבריש בדפדפן

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

    כפי ש@Whenever אמר הקובץ בכלל לא בUTF-8.
    אינני מבין איך שניכם פתחתם אותו בVSC ולא שמתם לב שגם הוא מציג ג'יבריש.
    VSC לא אומר באיזה קידוד הקובץ, הוא סה"כ מנסה לפתוח בUTF-8, והתוצאות בהתאם.
    אתה צריך לקרוא את הקובץ מקידוד windows-1255 או iso-8859-8.
    אני לא יודע איך עושים זאת בPHP, מגוגל וGPT הבנתי שאפשר להמיר את השורה אחרי הקריאה ככה:

    $row = array_map(function($value) { return iconv('Windows-1255', 'UTF-8', $value); }, $row);
  • API לקבלת תעריפי החשמל מים וגז המעודכנים

    4
    0 הצבעות
    4 פוסטים
    353 צפיות
    Aharon 0A

    @ששא כתב בAPI לקבלת תעריפי החשמל מים וגז המעודכנים:

    @Aharon-0 כתב בAPI לקבלת תעריפי החשמל מים וגז המעודכנים:

    לגבי חשמל אם יש לך מונה חכם

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

    דוגמא:
    https://data.gov.il/dataset/375/resource/ebb61778-e34c-4e67-8fcf-0e643d9cf8c2

    מדובר שם על בנקים, לא?

    תוקן הקישור

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

    11
    0 הצבעות
    11 פוסטים
    381 צפיות
    Aharon 0A

    https://data.gov.il/dataset/375/resource/ebb61778-e34c-4e67-8fcf-0e643d9cf8c2
    ב api לנתונים יש לך דוגמאות קוד

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

    1
    0 הצבעות
    1 פוסטים
    2 צפיות
    אין תגובות
  • האם Blazor הוא תקוות העתיד

    8
    3 הצבעות
    8 פוסטים
    660 צפיות
    י

    @dovid כתב בהאם Blazor הוא תקוות העתיד:

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

    תוכל להרחיב יותר? מה החשש אם תהיה מהפכה, ולמה זה נוגע רק לבלייזור?

  • STT ונרמול דאטה

    8
    0 הצבעות
    8 פוסטים
    707 צפיות
    dovidD

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

  • קוד להצגת התקדמות ב-statusbar של וורד

    1
    4 הצבעות
    1 פוסטים
    171 צפיות
    אין תגובות
  • באג ב-vba בפונקציה Selection.Information(wdVerticalPositionRelativeToPage)

    5
    0 הצבעות
    5 פוסטים
    324 צפיות
    pcinfogmachP

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

    אגב ההשוואה בין הטורים רק הבאתי את זה כדוגמא
    זה רלונטי לכל מיקום מדוייק של שני אובייקטים במסמך

  • בקשת cURL לnginx שעובדת מהקונסול אבל לא מתוך PHP

    20
    0 הצבעות
    20 פוסטים
    628 צפיות
    Aharon 0A

    תתחיל מזה שתשנה את הפורט מ 200 למעל 1024, וחוץ מזה תבדוק שאתה לא נופל על פורט שמור:
    https://www.geeksforgeeks.org/50-common-ports-you-should-know/

  • עזרה בשימוש בrclone

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

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

    @A0533057932 כתב בעזרה בשימוש בrclone:

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

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

    עדכון
    עברו 21 ימים
    ואכן זה עובד בהצלחה

  • איך לזהות פונטים עבריים ב-C#

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

    קצת מעניין שיש נסיגה בנושא זה
    ב-API הוותיק של ווידנוס היה אפשר לבקש רשימת פונטים לפי charset (ועדיין אפשרי היום להשתמש ב-API זה)
    (אגב, אפשר להבין לפי זה למה בתוכנת תג אותו גופן יכול להופיע ברשימה כמה פעמים, פעם אחת לכל charset שבגופן)
    אבל מה שאני מבין מפה שהמידע מתקבל מתוך המטה דאטה של הגופן, וזה לא חייב להיות נכון, אז בכל מקרה הבדיקה של הימצאות גליף בפועל יותר אמינה
    שוב מצאתי תיעוד רשמי ממייקרוסופט

    At this time, there is no mechanism to enumerate fonts supporting arbitrary scripts or character ranges in Unicode. The NEWTEXTMETRICEX structure passed by EnumFontFamExProc includes the FONTSIGNATURE structure, which includes more detailed declarations provided by the font developer as to what code pages and what Unicode ranges the font supports. To determine more precisely what character ranges a given font supports, select the font into a device context and call GetFontUnicodeRanges

  • איך אני מתכנת קורא כרטיסם EMV

    3
    -1 הצבעות
    3 פוסטים
    366 צפיות
    chagoldC

    https://he.aliexpress.com/item/1005008263708810.html?spm=a2g0o.detail.pcDetailTopMoreOtherSeller.12.2e8eu7SSu7SSER&gps-id=pcDetailTopMoreOtherSeller&scm=1007.40196.366991.0&scm_id=1007.40196.366991.0&scm-url=1007.40196.366991.0&pvid=68056091-3918-4744-8504-f2ca3e8df7d4&_t=gps-id:pcDetailTopMoreOtherSeller,scm-url:1007.40196.366991.0,pvid:68056091-3918-4744-8504-f2ca3e8df7d4,tpp_buckets:668%232846%238107%231934&pdp_npi=4%40dis!ILS!22.38!18.33!!!43.66!35.76!%402141001d17354107094283732e9649!12000044408826047!rec!IL!!ABX&utparam-url=scene%3ApcDetailTopMoreOtherSeller|query_from%3A#nav-specification:~:text=בבקשה לבקש את התוכנה מספק כרטיס החכם

  • 0 הצבעות
    36 פוסטים
    2k צפיות
    O

    @Aharon-0 כתב באיך שולטים על מזגן תדיראן באמצעות Home Assistant‬ (או דבר אחר יותר טוב)?:

    @one1010 כתב באיך שולטים על מזגן תדיראן באמצעות Home Assistant‬ (או דבר אחר יותר טוב)?:

    @Aharon-0 כתב באיך שולטים על מזגן תדיראן באמצעות Home Assistant‬ (או דבר אחר יותר טוב)?:

    @ששא נתקלתי בתוסף הזה, לפי ה-GIT זה נראה מעודכן אשמח לבדיקתך:
    https://www.home-assistant.io/integrations/gree/

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

    לפי מה שקראתי בתיעוד זה משתמש בכתובות ip ו mac של המזגן, השימוש באפליקציה זה רק לרישום ברשת

    29f68b06-6a91-4d0b-9d5a-f34983c2b04a-image.png

  • תגובות ל"צלילה לעומק TypeScript"

    1
    1 הצבעות
    1 פוסטים
    255 צפיות
    אין תגובות
  • מסד נתונים קיים ולא קיים בmysql

    6
    0 הצבעות
    6 פוסטים
    414 צפיות
    ש

    @dovid אני מקווה שהחברה פה לא יתעצבנו, אבל שאלתי את GPT מה הוא אומר, אז הוא כתב לי שאני אבדוק פה

    SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME LIKE '%old%';

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

  • 0 הצבעות
    1 פוסטים
    252 צפיות
    אין תגובות
  • סקיצה איך ליישם Theming ב- wpf בצורה קלה ונוחה

    6
    2 הצבעות
    6 פוסטים
    368 צפיות
    קומפיונטק

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

    אם אתה רוצה לראות סתם גלריית theme שבנויה עם avalonia, תוריד את זה: (צריך להיות מחובר לחשבון GitHub)
    https://github.com/kikipoulet/SukiUI/actions/runs/12388950546/artifacts/2336318341

  • Wpf: איך ליישם dataconext עבור style בתוך resource dictionary ??

    5
    0 הצבעות
    5 פוסטים
    346 צפיות
    pcinfogmachP

    @dovid
    נגיד אני רוצה מבנה נתונים של תיקייות ומסמכים ב-treeview ואני בונה לזה מודל ו style יפה שאמור לשמש אותי בכמה תוכנות
    לצרף גם קוד דוגמא?

  • GitHub Copilot עכשיו בחינם

    3
    8 הצבעות
    3 פוסטים
    437 צפיות
    yossizY

    @קומפיונט כתב בGitHub Copilot עכשיו בחינם:

    ואגב, למי שלא אוהב לשתף קטעי קוד שלו עם GitHub

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

  • עדכון ושדרוג פורום NodeBB

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

    @קן-ציפור כתב בעדכון ושדרוג פורום NodeBB:

    האם שווה לקחת את הסיכון לשדרג?

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

    💡 אפשר לבדוק איזה שידרוגי DB יש בגירסה מסויימת על ידי

    ls src/upgrades/x.x.x

    תחליף x.x.x במספר הגירסה

    כיצד מגבים את הפורום שכאמור משתמש ב- PostgreSQL?

    PGDATABASE=<db_name> PGUSER=<db_username> PGPASSWORD=<db_password> pg_dump -Fc -f <output_filename>

    תחליף כל מה שנמצא ב-<> בערכים מתאימים
    ותדביק לטרמינל ותלחץ אנטר

    תקבל קובץ גיבוי בשם <output_filename> (כלומר הערך שבחרת להכניס שם) שאפשר לשחזר אותו עם פקודת
    pg_resore במקרה הצורך

    💡 טיפ: כדאי להכניס את התאריך של היום לתוך שם הקובץ - אם זה פקודה שאתה הולך להריץ מפעם לפעם, כך תדע מאיזה תאריך הגיבוי

    ע"ע: https://www.postgresql.org/docs/current/app-pgdump.html
    או man pg_dump

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