דילוג לתוכן

תכנות

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

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


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

  • (js) RTL לסקריפט plotly

    הועבר
    39
    0 הצבעות
    39 פוסטים
    945 צפיות
    ה

    בס"ד נמצא הפתרון.
    היה צריך להכניס את הCSS הזה:

    .plot-container{ direction: rtl !important; }

    f22914b6-c778-42d8-ba87-37386b5a2c26-image.png

    תודה ל @צדיק-תמים .

  • Github Copilto לסטודנטים

    10
    10 הצבעות
    10 פוסטים
    313 צפיות
    WWWW

    @חגי כתב בGithub Copilto לסטודנטים:

    @chagold כנראה שהמילים rabbinical college עשו את הרושם שזה מוסד אקדמי, לא?
    סתם אישור כולל לא נראה לי אמור להיות מספק. (בכל מקרה אני אנסה, אבל לא נראה לי שזה יצליח)

    או שזה בגלל האתר באנגלית.
    לכולל ששלחתי אין אתר...

  • מעקב אחרי העכבר בטרמינל

    6
    11 הצבעות
    6 פוסטים
    213 צפיות
    קומפיונטק

    @yossiz אפשר לכאורה לקבל מידע על הזזת העבר מהמערכת הפעלה עם hookים למיניהם.
    אבל באמת החידוש הוא שאפשר לקבל את ציר ה-x וה-y ברמה של הקונסול, ולא ברמה של הפיקסלים במסך. (זה נראה לי מה שהפונקציה getmouse עושה).

  • MYSQL| מפתח unique על 3 עמודות

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

    @יוסף-בן-שמעון כתב בMYSQL| מפתח unique על 3 עמודות:

    בטבלה של הלקוחות ירשמו רק המפתחות הזרים של הטלפונים

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

  • המרת קובץ ג'יבריש כבד

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

    @yyy כתב בהמרת קובץ ג'יבריש כבד:

    @dovid הורדתי קובץ Execl של רחובות ממשרד הפנים (לא מצאתי שם אפשרות ל-JSON - חוץ מ- API שמלכלך לי את המידע עם עוד נתונים).
    אחרי שהורדתי המרתי עם האתר הזה את הקובץ ל-JSON. הבעיה שהאתר מקודד את זה לג'יבריש.

    אולי תוריד שוב ?

  • עזרה תנאי חישוב באקסס

    5
    0 הצבעות
    5 פוסטים
    135 צפיות
    MnccM

    @dovid תודה רבה,
    אין מילים על העזרה...

  • גוגל סקריפט טריגר קבלת מייל

    12
    0 הצבעות
    12 פוסטים
    282 צפיות
    צדיק תמיםצ

    @Y-Excel-Access
    כזה דבר לא אמור לקחת יותר מכמה שניות כל פעם. כשתוסיף קוד "כבד" תיתקל בין כה במגבלות אחרות, אני התייחסתי למקרה שנשאל.

  • לא מצליח להתקין editor TinyMCE בvue2.6

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

    @chagold כתב בלא מצליח להתקין editor TinyMCE בvue2.6:

    tinymce/tinymce-vue

    תנסה להתקין כך:
    npm i @tinymce/tinymce-vue@3.2.8
    מקור
    https://www.npmjs.com/package/@tinymce/tinymce-vue/v/3.2.8
    https://www.npmjs.com/package/@tinymce/tinymce-vue?activeTab=versions
    1ccf49f0-b51d-49df-8b74-7be8c8978ee8-image.png

  • שרת מסד נתונים, דוקר או עצמאי?

    14
    0 הצבעות
    14 פוסטים
    263 צפיות
    nigunN

    @dovid
    אני מתכוון אם הוא רוצה zero downtime
    ושגם אם השרת עולה באש לא יהיה שניה של downtime.
    אבל לא משנה, זה נושא לדיון אחר.

  • מחפש ספריה js לניתוח נתונים לייבוא

    2
    0 הצבעות
    2 פוסטים
    107 צפיות
    meir lamdanM

    @chagold
    זה משהו מידי כללי. כל אחד צריך ניתוח אחר.

  • הצבת ערך ב-struct (שפת C)

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

    @yossiz יאהוו תודה על היסודיות!

  • 0 הצבעות
    7 פוסטים
    154 צפיות
    ל

    @dovid
    כדאי גם למען הסדר הטוב לשנות את הנושא

  • הקמת שרת מתווך - פרוקסי

    נעול
    20
    0 הצבעות
    20 פוסטים
    398 צפיות
    dovidD

    @WWW כתב בהקמת שרת מתווך - פרוקסי:

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

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

    @שמחה-זו-הסיסמא כתב בהקמת שרת מתווך - פרוקסי:

    לגבי בקשות ב GET מישהו כתב לי בינתיים לציין את זה ככה (עדיין לא הספקתי לבדוק את זה)

    תפתח נושא חדש ותשאל איך בPHP עושים POST עם אותו התוכן שהתקבל בPOST, ובקיצור איך כותבים פרוקסי קטן בPHP.
    אם אתה לא ממש יודע תכנות/PHP ציין זאת כדי לקבל יותר קוד מוכן מאשר הכוונות.
    בשולי הדברים אעיר שיכול להיות בעיות אבטחה קשות בכל הסיפור (אבל כנראה "במקרה הזה זה לא אכפת לאף אחד" כמו בכל המקרים).

  • טופס HTML באקסס

    10
    1 הצבעות
    10 פוסטים
    215 צפיות
    dovidD

    @Y-Excel-Access אתה הבאת לינקים מלפני 15 שנה בערך.
    אפשר לפתח בכל שפה של צד שרת (שזה כולל את asp הקלאסית העתיקה, לא מומלץ)
    וזה אומר שאפשר בphp או בנוד או בasp.net שמאפשרת כתיבה בVB.NET.
    אבל כל אלו לא עובדים רק ע"י דף עם סיומת אלא הם צריכים שרת שיגיש אותם. נוד וasp (המודרני הנקרא core ואילך) יכולים להיות עם תוכנה קטנה ניידת שמפעילים אותה ונפתח שרת מקומי (localhost) ואז אפשר להתחבר לאקסס או לכל מסד אחר.

  • 0 הצבעות
    14 פוסטים
    365 צפיות
    ח

    @yossiz כתב בJS מחרוזת טקסט עברית הפוך עבור מדפסת קופה:

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

    בסוף הגענו לזה..
    אכן במדפסת זו (80mm) ניתן להכניס בגופן הרגיל 48 תווים
    לקחתי מכאן פונקציה לפיצול מילים
    וב"ה זה התוצאה

    await printer.text(typeof row.value === 'string' ? row.value.split('\n').map((line) => { return line.match(/\S.{1,48}(?=\s|$)/g).map(reverseRTLchars).join('\n'); }).join('\n') : row.value);

    7da2565c-84ce-482a-88a8-88473223c77d-image.png
    3f1b0133-0f94-4e04-ac78-a5e380bc7cb5-image.png

  • PyCharm לא מצליח להגדיר את ה- Interpreter

    5
    0 הצבעות
    5 פוסטים
    173 צפיות
    ZUNDELZ

    @yossiz כתב בPyCharm לא מצליח להגדיר את ה- Interpreter:

    @ZUNDEL כנראה שבחרת את קובץ ההתקנה של פייתון במקום סביבת הפייתון עצמה (מן הסתם זה איפשהו ב-program files)

    👍 (עדיין לא יכול לתת לייקים)
    עריכה הצלחתי תודה זה באמת היה הטעות שלי

  • 0 הצבעות
    8 פוסטים
    286 צפיות
    יעקב ישראלי

    @יוס תחפש בגוגל software omr יש שם תוכנות מעולות
    זה נראה מדהים

  • 0 הצבעות
    18 פוסטים
    295 צפיות
    מ

    @dovid כתב בטופס - HTML - הצגת ערך בתיבה שלא יהיה ניתן לשינוי:

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

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

  • 0 הצבעות
    12 פוסטים
    211 צפיות
    A

    @aaron כתב במשתנים יציבים שעלולים להשתנות מידי פעם. איך הדרך הנכונה להגדיר אותם?:

    @clickone כתב במשתנים יציבים שעלולים להשתנות מידי פעם. איך הדרך הנכונה להגדיר אותם?:

    (או מכל מקור אחר)

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

    תשתמש ב gunicorn כדי שיטפל ב graceful shutdown. וLB כדי שישאר סרוויס זמין בזמן הזה, אבל באמת לא חושב שזה חשוב לך עד כדי כך..

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

    @צבי-ש כתב במשתנים יציבים שעלולים להשתנות מידי פעם. איך הדרך הנכונה להגדיר אותם?:

    העניין הוא שאני רוצה לערוך שינויים באמצע דרך אתר חיצוני.

    ככל שזה הסיבה, אז ודאי שלשמור בDB. אתה תחשוף API כדי לעדכן את המידע ובאותו קריאה גם לטעון את המידע החדש.

  • איך הדרך הנכונה יותר לתזמן משימות?

    5
    0 הצבעות
    5 פוסטים
    221 צפיות
    צבי-שצ

    @aaron כתב באיך הדרך הנכונה יותר לתזמן משימות?:

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

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

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