תכנות

4.5k נושאים 37.6k פוסטים

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


  • 22 נושאים
    137 פוסטים

    שלום לכולם
    התבקשתי רבות מחברים פיתרון לבעיה הידועה לבצע מיזוג דואר, אך לשמור קובץ 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 פוסטים

    @אבי אמר בשוב, צילומי הצ'קים בבנקים:

    התעסקתי לאחרונה עם סורקים של חברת MAGTEK, הם ידידותיים ונוחים להתממשקות, אבל כמדומני שהבנקים בישראל מוכנים לקבל סריקות רק מסורקים של חברת PANINI

    @אבי איך יוצרים אתך קשר?

  • 31 נושאים
    133 פוסטים

    יש כמה נוסחאות חדשות שממש משנות את כללי המשחק בגוגל שיטס:

    CHOOSECOLS לבחירת עמודות ממערך CHOOSEROWS לבחירת שורות ממערך WRAPROWS להמרת מערך חד ממדי לרב ממדי - פריסה לשורות WRAPCOLS כנ"ל - פריסה לעמודות HSTACK ו VSTACK - הפעולה של {} אך בלי סוגריים - לא משמעותי לכאורה

    והעולה על כולנה, סוף סוף:

    LET - ליצירת משתנים.

    כל אלו מצטרפות לפונקציות שנוספו מוקדם יותר -
    https://blog.sheetgo.com/google-sheets-formulas/10-new-google-sheets-functions/

    וכלול בתוכם - LAMBDA, MAP (חלקי - לא עובד לקנן ב MAP ודומיו מערכים אחרים), פונקציות בעלות שם, וכו' ע"ש בקישור.

  • המרת טקסט מג'יבריש לעברית

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

    כן.
    https://www.online-decoder.com/he

    image.png

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

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

    תחפור באתר הזה: https://atidcollege.co.il/

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

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

    תוכנה שהנישום פיתח בעצמו או באמצעות עובדיו ולא באמצעות גורם חיצוני (outsourcing).

    אם אתה מצהיר שהוא לקוח בודד, אז אתה לא צריך לממש קובץ אחיד, מה שמוריד את הרוב המוחלט של העבודה

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

    6
    0 הצבעות
    6 פוסטים
    76 צפיות
  • 0 הצבעות
    25 פוסטים
    392 צפיות

    כיון שתייגת אותי אענה לך: לא יודע.

  • קיים תחליף טוב לאקסס?

    19
    0 הצבעות
    19 פוסטים
    647 צפיות

    @ש-ב-ח כתב בקיים תחליף טוב לאקסס?:

    דווקא אני חושב שכאן יש עתיד: https://bubble.io
    הסתייגות: לא בדקתי עומס של מליוני שורות בטבלה...

    אם מישהו בדק ויש לו תובנות שיעדכן...

  • ביצוע פרקטי לאינדוקס מאגר טקסט עברי

    12
    7 הצבעות
    12 פוסטים
    347 צפיות

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

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

  • גישה מהמחשב למסד MongoDB בשרת

    25
    0 הצבעות
    25 פוסטים
    444 צפיות

    @nigun כתב בגישה מהמחשב למסד MongoDB בשרת:

    @dovid כתב בגישה מהמחשב למסד MongoDB בשרת:

    @nigun כתב בגישה מהמחשב למסד MongoDB בשרת:

    הבעיה בVPN שכשאתה מחובר אליו כל התעבורה שלך עוברת דרכו

    אני משתמש כבר כמה שנים בVPN למקום העבודה, והתעבורה לא עוברת דרך הVPN.

    איך אתה מגדיר איזה תעבורה תעבור דרך הVPN ואיזה לא?

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

  • למה אי אפשר לעשות SQL בצורת HASH-TABLE

    6
    1 הצבעות
    6 פוסטים
    102 צפיות

    @Y-Excel-Access לא הצלחתי לעקוב אחרי הלוגיקה שבדבריך, אולי הדברים שלך מבוססים על הנחות סמויות והבנות קודמות שלא ברורים לי
    לגבי השאלה מה היתרון של אינדקס מבוסס על btree לעומת hash map יש הרבה תוצאות בגוגל על הנושא, ממה שראיתי:

    HASHMAP יותר מהר בשליפה של רשומה אחת BTREE שימושי לשליפה של טווח של שורות BTREE שימושי למיונים משא"כ HASHMAP
  • כשלון בהתקנת mysql על שרת אובנטו

    9
    0 הצבעות
    9 פוסטים
    86 צפיות

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

  • בעיה בשימוש עם הספריה Random ב PHP

    24
    0 הצבעות
    24 פוסטים
    189 צפיות

    @dovid ברוך ה' הכל הסתדר, הצלחתי להחיות את השרת, הצלחתי לכוון אותו ל PHP 8.2, וברוך ה' עכשיו הספרייה הנ"ל אכן עובדת לי!
    תודה רבה רבה ל @dovid שעזר לי כ"כ הרבה וכן ל @ivrtikshoret ול @yossiz !!

  • 1 הצבעות
    11 פוסטים
    91 צפיות

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

    וזה עובד! תודה רבה רבה לך על העזרה פה ובכל השאלות שלי באופן מהיר, נדיב, ומפורט!!! אין מילים!
  • 0 הצבעות
    14 פוסטים
    52 צפיות

    @צדיק-תמים זה כאילו במקום לכתוב את הפקודה בשרת ב PHP ולהריץ כל זמן מוגדר אני מריץ את זה שם?

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

    @ששא כדי שתוכל להריץ את פקודות הsql עם הphp), אתה חייב לתת לPHP את ה'נתונים' בשביל להתחבר למסד הנתונים.

    הדרכה איך עושים את זה יש כאן
    https://www.w3schools.com/php/php_mysql_intro.asp
    תעבור אחד לאחד מתוך הרשימה הזאת שבצד שמאל להבין את הפרנציפ

    image.png

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

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

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

    @dovid כתב בייבוא נתונים מהרשת לאקסס:

    @avi-rz רשת/מירשתת = web, אינטרנט = internet.

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

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

  • 0 הצבעות
    10 פוסטים
    104 צפיות

    @dovid כתב בהסתעפות מייצור אינדקס - עזרה בקידוד C#:

    אפשר לפתח שם תוכנה שלמה, אבל זה מומלץ

    התכוונת לכתוב "אבל זה לא מומלץ"?

  • 5 הצבעות
    3 פוסטים
    95 צפיות

    כאנקדוטה יש לציין שהפריימוורק Svelte עובר להשתמש בJSDoc לצורך אכיפת סוגים במקום TS רגיל, כדי להיפטר מהצורך בקומפילציה (אחרי שעשו את זה ב-sveltekit כבר לפני שנה+)
    https://news.ycombinator.com/item?id=35892250
    https://github.com/sveltejs/svelte/pull/8569

  • בעיה עם תוכנה שחוסמת הקלדה

    6
    1 הצבעות
    6 פוסטים
    177 צפיות

    @חגי כתב בבעיה עם תוכנה שחוסמת הקלדה:

    ניסית להשתמש ב-SendMessage עם WM_SETTEXT או WM_KEYDOWN?
    זה הכי קרוב שאני יכול לדמיין שתוכנה יכולה לדמות מקלדת.

    אני אבדוק את זה, אבל זה לא אמור להיות SendKeys הכי קרוב?

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

    ניסיתי כך, ולא עובד, עשיתי נכון?

    Private Const WM_CLOSE As Integer = &H10 Private Const WM_SETTEXT As Integer = &HC <DllImport("user32.dll", CharSet:=CharSet.Auto)> Public Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr End Function Private Sub Timer13_Tick(sender As Object, e As EventArgs) Handles Timer13.Tick Dim hwnd As IntPtr Dim message As String hwnd = Me.Handle message = "1234" SendMessage(hwnd, WM_SETTEXT, IntPtr.Zero, Marshal.StringToBSTR(message)) End Sub
  • 0 הצבעות
    24 פוסטים
    349 צפיות

    @אף-אחד-3 אמרתי בוא נראה את בארד, כששאלתי אותו על יוסלה באנגלית הוא החליט שהוא אחד מיזמי ההייטק הישראליים הגדולים מייסד wix וכו'
    https://g.co/bard/share/9482f960eff4

    אבל כששאלתי אותו בעברית זה היה התשובה, שימו לב לטעות "אפיה" במקום "איפה",
    https://g.co/bard/share/bfd9f8c3349a
    (אגב, לא יכולתי שלא לשים לניחוח האנטישמי מהמשפט "הוא הוכיח שאפשר להיות ילד מוצלח גם אם אתה לומד בבית ספר דתי"..

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

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

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

    1
    0 הצבעות
    1 פוסטים
    3 צפיות
    אין תגובות