דילוג לתוכן

תכנות

4.6k נושאים 38.2k פוסטים

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


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

  • 0 הצבעות
    4 פוסטים
    72 צפיות
    אבי 203א

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

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

    let queryResults; let queryResults3; let queryResults4; $w.onReady(async function () { queryResults = await wixData.query("muzarim") .descending("seder") .limit(10) .find(); $w('#repeater1').data = queryResults.items; // await repeater1_itemReady() console.log("1"); loadRemaining(); }); // var dataa = []; async function loadRemaining() { queryResults3 = await wixData.query("muzarim") .descending("seder") .skip(10) .find(); let data = $w('#repeater1').data; let data3 = await data.concat(queryResults3.items); console.log(data3); return data3.items.map((item) => { return { "_id": item._id, "sem": item.sem, "mkt": item.mkt, "imeg": item.imeg, "mehir": item.mehir, "link1": item["link-muzarim-sem"], "link2":item["link-muzarim-editor-_id"] }; } ); var myJSON = JSON.stringify(data3) memory.setItem("data3", myJSON) } export function repeater1_itemReady($item, itemData, index) { $item('#mehir').text = itemData.mehir; $item('#sem').text = itemData.sem; $item('#mkt').text = itemData.mkt; $item('#image9').src = itemData.imeg; $item('#button114').link = itemData["link-muzarim-sem"]; $item('#button102').link = itemData["link-muzarim-editor-_id"]; }

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

    let key = event.key; if (key === "Enter") { let muzarim = memory.getItem("data3") var muzarim2 = JSON.parse(muzarim); const data = muzarim2.filter(d => d.mkt.includes($w('#mktinput').value)); $w('#repeater1').data = data; {

    תודה בכל אופן.

  • קוד לקריאת ערכים מהרגיסטרי (בתשלום)

    35
    0 הצבעות
    35 פוסטים
    291 צפיות
    אבייא

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

    <Application x:Class="WpfApp4.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WpfApp4" Startup="Application_Startup"> <Application.Resources> </Application.Resources> </Application> namespace WpfApp4 { /// <summary> /// Interaction logic for App.xaml /// </summary> public partial class App : Application { private void Application_Startup(object sender, StartupEventArgs e) { var a = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"HKEY_LOCAL_MACHINE\SOFTWARE\abao")?.GetValue("License").ToString(); var b = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"HKEY_LOCAL_MACHINE\SOFTWARE\abaou")?.GetValue("License").ToString(); if (a == "12345" && b == "12345") { System.Diagnostics.Process.Start("C:\\Program Files (x86)\\abaye\\baye.accdb"); } } } }
  • Hello World 😉

    3
    1 הצבעות
    3 פוסטים
    102 צפיות
    The shadowT

    @dovid אמר בHello World 😉:

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

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

    @dovid אמר בHello World 😉:

    כעת שאלות:
    ActiveWorkbook.SlicerCaches(SlicerYear).SlicerItems.Count - 1

    למה המינוס 1?

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

    ותודה על העידוד!
    מחזק!

  • מה קרה למסד הנתונים שלי ?

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

    אותו דבר גם בהתחברות ישירות משורת הפקודה
    או התחברות מ PHP

  • תוך כמה זמן מקבלים אישור לתוסף CHROME

    20
    0 הצבעות
    20 פוסטים
    108 צפיות
    WWWW

    @מנצפך אמר בתוך כמה זמן מקבלים אישור לתוסף CHROME:

    @WWW
    אפשר להסביר מהו הטריק להעלאת תוסף לא חתום?

    @yossiz אמר בשיתוף: 🔖 סימניה להורדת תוסף כרום:

    זכור לי שבעבר זה עבד לי. אבל עכשיו שאני מנסה אני לא מצליח...
    אולי שינו משהו?
    מה שכן עובד לי זה זה:

    reg add HKLM\Software\Policies\Google\Chrome\ExtensionInstallSources /v 1 /t REG_SZ /d "<all_urls>"

    זה מאשר תוספים מכל מקום

    אתה יכול להעלות את זה לרשת, ומי שהגדיר כנ"ל, יוכל להתקינו ע"י גישה לURL של הקובץ.

  • תוכנה לערפול קוד .NET

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

    אני חושב שConfuserEx הוא הרלוונטי למרות שהוא הפסיק את הפיתוח רשמית (https://yck1509.github.io/ConfuserEx/2016/07/01/confuserex-discontinue).

  • פונטים מתאימים לכתיבת קוד

    הועבר
    1
    0 הצבעות
    1 פוסטים
    117 צפיות
    אין תגובות
  • מיזם ספריא - sefaria

    הועבר
    12
    5 הצבעות
    12 פוסטים
    1k צפיות
    ג

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

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

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

  • 1 הצבעות
    8 פוסטים
    212 צפיות
    ב

    ובסוגריים כותב את הפעולה. נכון?

    בתוך הסוגריים המסולסלים תכתוב את מה שאת רוצה שיהיה

  • 1 הצבעות
    4 פוסטים
    156 צפיות
    Y
    Sub Main() Set objWMIService = GetObject("winmgmts://./root/cimv2") Set ColItems = objWMIService.ExecQuery("Select * from Win32_BIOS where PrimaryBIOS = true", , 48) For Each ObjItem In ColItems strMsg = strMsg _ & " BIOS Name : " & ObjItem.Name & vbCrLf _ & " Version : " & ObjItem.Version & vbCrLf _ & " Manufacturer : " & ObjItem.Manufacturer & vbCrLf _ & " Serial Number : " & ObjItem.SerialNumber & vbCrLf _ & " SMBIOS Version : " & ObjItem.SMBIOSBIOSVersion & vbCrLf Next Debug.Print strMsg End Sub BIOS Name : Phoenix BIOS SC-T v2.1 Version : LENOVO - 2400 Manufacturer : LENOVO Serial Number : R9022X21 SMBIOS Version : GNET92WW (2.40 )

    מקור
    https://www.tek-tips.com/viewthread.cfm?qid=1105123

  • חומר בעברית ללימוד שפת C#

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

    https://www.google.com/search?q=site%3Atchumim.com+לימוד+C%23

  • עזרה לזיכוי הרבים!

    הועבר
    19
    1 הצבעות
    19 פוסטים
    995 צפיות
    אליעזר מירוןא

    למה לא תשים אינטרנט של נטפרי ותפתח בהגדרות אישיות רק מה שאתה רוצה?

  • 0 הצבעות
    12 פוסטים
    317 צפיות
    a.y.fA

    אוקיי, הסתדרתי בודות לעזרתו של מנהל חברת IP תקשורת טלפונים, שעזר לי בהשתלטות מרחוק.

  • עזרה דחופה באקסס

    הועבר
    2
    0 הצבעות
    2 פוסטים
    132 צפיות
    stack OVERS

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

  • 2 הצבעות
    31 פוסטים
    2k צפיות
    א

    @yossiz אמר במתכנת עצמאי כ4 שעות ביום - אפשר להתפרנס מזה?:

    @dovid אמר במתכנת עצמאי כ4 שעות ביום - אפשר להתפרנס מזה?:

    https://insights.stackoverflow.com/trends?tags=vue.js%2Cangularjs

    מישהו ציני
    (אני לא...)

    הלו
    מפחיד כאן, אבל עכ"כ.

  • 6 הצבעות
    29 פוסטים
    2k צפיות
    ג

    @yits אמר במי מתנדב להקים מאגר תורני חרדי חינמי ראוי לשמו ??:

    אני לא מבין למה לא לשכפל את כל האתר של ספריא,
    וכמובן לייבא את הקישורים בין הטקסטים.

    ואת ההערות יעשו המשתמשים החדשים שיבואו.

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

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

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

  • עזרה בFreePBX

    הועבר
    1
    0 הצבעות
    1 פוסטים
    72 צפיות
    אין תגובות
  • הוספת כלל לחומת האש של ווינדוס

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

    @nigun אמר בהוספת כלל לחומת האש של ווינדוס:

    @יוסף-בן-שמעון
    ואם הדומיין מאושר מה אני עושה?
    מאיפה אני מקבל את הכתובת IP?

    לא שמתי לב לשאלה, צריך לפנות בעצמך לשרת DNS חיצוני כדי לקבל את הכתובת, כמדומני שהחבילה הנ"ל כבר עושה את זה. (אני מניח שכבר גילית את זה)

  • 1 הצבעות
    5 פוסטים
    168 צפיות
    אבייא

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

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

  • רואטינג IP מימות המשיח

    4
    0 הצבעות
    4 פוסטים
    61 צפיות
    אבייא

    @nigun אני אישית לא בדקתי אבל חבר שמבין בזה אמר לי.

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