דילוג לתוכן

תכנות

4.8k נושאים 39.9k פוסטים

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


  • 22 נושאים
    137 פוסטים
    katzK
    שלום לכולם התבקשתי רבות מחברים פיתרון לבעיה הידועה לבצע מיזוג דואר, אך לשמור קובץ PDF נפרד לכל רשומה, עם שם מותאם אישית. אפרט כאן במדריך שלב אחר שלב איך לבצע זאת, תהיו איתי עד הסוף מקווה שתהנו... נתחיל... שלב א: ראשית בקובץ ה- Excel של רשימת הנמענים, הוסיפו לטבלת הנתונים ארבעה עמודות בשמות כדלהלן (חשוב שהשמות יהיו מדויקים ללא רווחים מיותרים - לתשומת ליבכם): DocFolderPath DocFileName PdfFolderPath PdfFileName שלב ב: צרו שתי תיקיות נפרדות, אחד לקבצי הפלט בפורמט docx, ואחד לקבצי הקלט בפורמט pdf, העתיקו את נתיב התיקייה של קבצי ה- docx והדביקו אותם עבור כל רשומה בשדה שיצרתם בשם DocFolderPath, לאחמ"כ חזרו על הפעולה והפעם העתיקו את נתיב התיקייה של קובצי ה- PDF והדביקו בשדה PdfFolderPath. בשדה DocFileName כתבו את השם של הקובץ עבור הרשומה - ניתן להשתמש בנוסחאות, כמו"כ בשדה PdfFileName כתבו את שם הקובץ כנ"ל. שלב ג: פתחו את קובץ ה- word והשלימו את פעולת המיזוג כרגיל, עצבו את המסמך כרצונכם. שלב ד: פתחו את לשונית מפתחים בקובץ ה- word פתחו את עורך הקוד הוסיפו מודל חדש מצו"ב צילום מסך: [image: 1662883665514-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 ולחצו הפעל מצו"ב צילום מסך [image: 1662883849719-3890ce69-c0e9-4f30-89ce-3e97b7de750b-image.png] כעת שבו בנחת והמתינו עד ליצירת כל הקבצים, להנאתכם תפתחו את תיקיות הפלט שיצרתם וגלו שהיא מלאה קבצים קובץ לכל רשומה בשם המתאים שהגדרתם לה. מקור
  • ארכיון האתר הקודם והחביב קוד-613

    1k 10k
    1k נושאים
    10k פוסטים
    chagoldC
    @אבי אמר בשוב, צילומי הצ'קים בבנקים: התעסקתי לאחרונה עם סורקים של חברת MAGTEK, הם ידידותיים ונוחים להתממשקות, אבל כמדומני שהבנקים בישראל מוכנים לקבל סריקות רק מסורקים של חברת PANINI @אבי איך יוצרים אתך קשר?
  • 31 133
    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 ודומיו מערכים אחרים), פונקציות בעלות שם, וכו' ע"ש בקישור.
  • API מומלץ לתכנון מסלול

    15
    0 הצבעות
    15 פוסטים
    355 צפיות
    צדיק תמיםצ
    @יהודי-טוב כתב בAPI מומלץ לתכנון מסלול: לא הכרתי את הכלי or-tools של גוגל, נראה מעניין.. הבאתי אותו לעיל.
  • מודל AI שתומך בתצורת שיחה גם בAPI חינמי

    20
    0 הצבעות
    20 פוסטים
    2k צפיות
    I
    @יאנג-בוי הצלחת להשתמש עם זה? אם כן נשמח לשמוע מה עשית בשביל שזה יעבוד.
  • 1 הצבעות
    7 פוסטים
    476 צפיות
    צדיק תמיםצ
    @צבי-ש בסדרי גודל שאני משער שיש לך אתה לא צריך קאש אלא אינדקסים אם אתה ממש חושש אתה יכול להשתמש במסד נתונים שבעצמו יש לו ביצועים של קאש, כמו Redis
  • מילוי טופס pdf באתר שלי אונליין - איך אפשר?

    31
    0 הצבעות
    31 פוסטים
    3k צפיות
    חגיח
    @ששא כתב במילוי טופס pdf באתר שלי אונליין - איך אפשר?: מה אתה אומר? יש הבדל בין mm ל vh/w? כן, MM במסך מפוקסל זה פשוט אמת מידה שונה לפיקסלים, אבל זה לא תלוי במסך, משתמשים בזה בעיקר להדפסות. VW\VH נשארים יחסיים למסך.
  • אפליקציית wpf מקומפלת ל־.NET Framework 4.7.2 לא עובדת על Windows 11

    8
    0 הצבעות
    8 פוסטים
    335 צפיות
    קומפיונטק
    @pcinfogmach אם WPF היה יכול להתקמפל עם NativeAOT זה היה מצויין, הבעיה שזה לא אפשרי, עם avalonia זה כן אפשרי. אם אתה חייב ‪.net framework‬ אז אין לי פתרון .
  • שיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת

    20
    11 הצבעות
    20 פוסטים
    1k צפיות
    יאנג בויי
    עשיתי הורדה. הוא נפתח תקוע על המסך הזה: [image: 1752075338616-e82434b6-4dc9-46e7-8996-51b22dd0ddb9-image.png] גם 'ריקון המטמון וטעינה מחדש קשיחה' לא עזר. באונליין עובד רגיל. חוץ מזה נראה מטורף ושימושי.
  • בעיית מיקום בחיפוש גוגל

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

    20
    0 הצבעות
    20 פוסטים
    3k צפיות
    dovidD
    @קומפיונט ככה עשיתי פעם, כיום חושב כמה שיותר להעדיף שרת לקוח, מנסה לבטא למה: א. אתה מתנהג כמו כולם, כל מפתח ווב מכיר את העבודה ככה בלבד. ב. אתה משתמש בפריימוורקים מקובלים בדרך הרגילה (אפשר אפילו להמיר את כל קריאות האינטרנט לPostMessage או כתלות במשתנה סביבה וכדומה עם כמה שורות קוד בודדות במקום מרוכז אחד, וככה לעשות בסיס קוד אחד לתצורות שונות, או להעביר בקלות כשעוברים לווב. ג. מנסיון בעולם הווב, הארכיטקטורה של שרת לקוח מביאה להפרדה מבורכת (אתה בטח מכיר מהרבה תצורות של תצוגות את עקרונות ההפרדה, שלא יהיה תקשורת דו כיוונית חסרת סדר. זה קצת דומה). ד. לא זוכר כעת מה עוד...
  • חברה מומלצת לסליקה ב API מול טוקן

    10
    0 הצבעות
    10 פוסטים
    1k צפיות
    י
    ממליץ מאד לבדוק את קארדקום, API מאד נח, תמיכה למתכנתים ברמה גובה, ויש להם באמת הכל.. טוקן, מסגרת, ביט פייפאל וכו' יש להם גם סליקה משלהם כך שלא צריך עוד חברת אשראי
  • נושא זה נמחק!

    0
    0 הצבעות
    0 פוסטים
    2 צפיות
    אין תגובות
  • 0 הצבעות
    4 פוסטים
    538 צפיות
    אבייא
    @זיכוי-הרבים אני כבר כותב כעת תוכנה כזו עבור לקוח, תוכל לכתוב לי למייל cs@abaye.co מה בדיוק הצרכים שלך ונוכל לראות אם זה מתאים (אין לי פנאי כרגע לפרוייקט חדש במיידי)
  • התראה על יציאה ממ"ד & שיפור אתר פיקוד העורף

    35
    4 הצבעות
    35 פוסטים
    5k צפיות
    A.I.VA
    @י-פל יכול להיות. המערכת הזו פותחה לשימוש פנימי בישיבה, ביקשו ממני לפתח מערכת שתשלח הודעות SMS על התראות פקע"ר. כי לא לכל התלמידים בישיבה יש דור 4, ואפילו אם היה, להתראת היציאה זה לא עוזר - היא מתקבלת רק בסמארטפונים. כלומר, ההתראות החשובות מבחינתנו הם המקדימה וזו שמאפשרת יציאה; ההתראה של האזעקה עצמה לא ממש מפריעה לי. פשוט שומעים את האזעקה עצמה ולא באמת חשוב לי שידעו אם זה טיל, כטב"מ או חדירת מחבלים... הID זה רעיון טוב, אפשר אולי גם למיין לפי הCAT. צריך שיהיה לי דחף לפתח את זה עוד, אבל כרגע אין ממש צורך אז יש לי דברים חשובים יותר. כמובן אשמח לקבל PRים.
  • מחפש ספק SIP עם אפשרות לשנות Caller ID חופשי (ללא אימות מספר)

    8
    0 הצבעות
    8 פוסטים
    1k צפיות
    nachmanN
    @eli_t כתב במחפש ספק SIP עם אפשרות לשנות Caller ID חופשי (ללא אימות מספר): @nachman כתב במחפש ספק SIP עם אפשרות לשנות Caller ID חופשי (ללא אימות מספר): תוכל להשאיר פרטי קשר ואחזור אליך. eliteitelbaum21@gmail.com שלחתי לך מייל
  • 1 הצבעות
    19 פוסטים
    1k צפיות
    יום חדש מתחילי
    מצאתי פתרון זמני, למי שזה חשוב לו להוריד את כל שורת התפריטים מהחלק העליון אל הסרגל הצידי [השמאלי בברירת מחדל]. עושים את כך. טוב במקום להסביר אעלה סרטון קצרצר..... [image: 1750427993390-%D7%A9%D7%95%D7%A8%D7%AA-%D7%AA%D7%A4%D7%A8%D7%99%D7%98%D7%99%D7%9D-%D7%91vscode.gif]
  • תוסף שמדגיש את המבזקים שלא נקראו בכל רגע

    30
    2 הצבעות
    30 פוסטים
    4k צפיות
    meir lamdanM
    @מטעמים https://tchumim.com/post/167807 זה נראה שזה פתר את זה
  • האם יש תוסף VS Code שמתחבר לGPT כדפדפן?

    4
    0 הצבעות
    4 פוסטים
    442 צפיות
    dovidD
    @י-פל בשביל המטרה של קופיילוט שזה רק לנחש את המשך המילים שלך או את המשך הלוגיקה, המודל הכי דפוק עושה עבודה כמעט מושלמת. אני מבין שאתה רוצה משהו שזה יותר התכתבות והתייעצות על קטעי קוד גדולים, אבל שיחסכו לך העתק הדבק. אני מנחש בלי לבדוק שאין תוסף שלא עושה שימוש בAPI כי זו הדרך הכי נוחה לתקשר בין הקוד שלך לבין הGPT. אם יש לך כח, אתה יכול לפתח לבד תוסף שמארח את האתר של GPT, וכשבוחרים קוד הוא יופיע בתיבה של הפרומפט.
  • איך נכון לעבוד עם AI ללא ידע בקוד? האם אני עובד בצורה עקומה?

    35
    2 הצבעות
    35 פוסטים
    3k צפיות
    י.פל.י
    @מנצפכ כתב באיך נכון לעבוד עם AI ללא ידע בקוד? האם אני עובד בצורה עקומה?: כיוצר תוסף AI-Studio הייתי מצפה שתלך על הכיוון הזה בוצע.
  • גיטהאב קופיילוט פרסונליזציה

    3
    0 הצבעות
    3 פוסטים
    517 צפיות
    א
    כן https://code.visualstudio.com/docs/copilot/copilot-customization
  • חילוץ אקורדים מקובץ שמע

    3
    0 הצבעות
    3 פוסטים
    459 צפיות
    א
    את השני הכרתי את הראשון לא אני אבדוק את זה תודה
  • האצת TreeView ב-WPF על ידי וירטואליזציה עצמית

    2
    1 הצבעות
    2 פוסטים
    375 צפיות
    dovidD
    @pcinfogmach כתב בהאצת TreeView ב-WPF על ידי וירטואליזציה עצמית: כמו"כ אשמח לשמוע רעיונות איך להפוך את זה למשהו יותר כללי (כרגע הוא מגבל לסוג datacontext מסויים מאוד. public static class TreeItemVirtualizationBehavior { public static bool GetEnableVirtualization(DependencyObject obj) => (bool)obj.GetValue(EnableVirtualizationProperty); public static void SetEnableVirtualization(DependencyObject obj, bool value) => obj.SetValue(EnableVirtualizationProperty, value); public static readonly DependencyProperty EnableVirtualizationProperty = DependencyProperty.RegisterAttached("EnableVirtualization", typeof(bool), typeof(TreeItemVirtualizationBehavior), new PropertyMetadata(false, OnEnableVirtualizationChanged)); private static void OnEnableVirtualizationChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var item = (TreeViewItem)d; if ((bool)e.NewValue) { item.Expanded += setSource; item.Collapsed += setSource; item.Loaded += setSource; } else { item.Expanded -= setSource; item.Collapsed -= setSource; item.Loaded -= setSource; } } public static Func<object, bool> needPlaceHolders = (s) => false; private static void setSource(object sender, RoutedEventArgs e) { var treeViewItem = (TreeViewItem)sender; if (needPlaceHolders(treeViewItem.DataContext)) treeViewItem.ItemsSource = Enumerable.Repeat("", 1); } } צריך להפוך לספציפי בטעינת האפליקציה על ידי השמה של needPlaceHolders: TreeItemVirtualizationBehavior.needPlaceHolders = (dataContext) => dataContext is TreeItem treeItem && treeItem.Items?.Any() == true; יש מצב שלא הבנתי מה שהקוד צריך לעשות ואם ככה שטעיתי גם בהצעה.
בא תתחבר לדף היומי!