דילוג לתוכן

תכנות

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

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


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

  • עזרה: Google maps JS Api

    נעול הועבר
    9
    2 הצבעות
    9 פוסטים
    506 צפיות
    dovidD

    @davidnead אנא פתח נושא חדש אלא"כ בריא לך שאהיה מרוצה גם בהמשך הנושא הקיים.

  • הסתברות ברצף מספרים רנדומלי

    הועבר
    48
    0 הצבעות
    48 פוסטים
    900 צפיות
    רחמיםר

    @yossiz מזה אני למד כמה חשוב לכתוב בשפה עם טיפוסיות חזקה. ואפילו קוד קצר של 10 שורות. בC# זה לעולם לא היה קורה.

  • איך כדאי למספר עמודה משנית בpostgresql?

    22
    0 הצבעות
    22 פוסטים
    364 צפיות
    OdedDvirO

    @nigun אני חושב שהוא התכוון למפתח מרוכב Composite-Key

  • תבניות של API

    52
    3 הצבעות
    52 פוסטים
    1k צפיות
    מנצפךמ

    @davidnead
    לא!

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

    הSAILS משתמש בכל מיני ספריות לא מעודכנות. כמו waterLine שזה ה ORM הכי מזעזע שפגשתי.

    אני לא מדבר על בעיות של זליגות זכרון שכמעט גרמו לי להתקף לב.
    וחוץ מזה, זה JS ישן שלא תומך באמת ב CLASS וכל זה, הוא מייבא את הcontrollers שלך ע"י חיפוש כל ה *.JS בתיקיה...

    לאחר מעשה, זה היה לי טוב בשביל להעלות מהר (ובלי ניסיון) פרוייקט.
    היום אני מצטער שאני שם.
    אני ממליץ לך בחום, קח תבנית מוכנה, שזה אומר מבחינתי, מבנה תיקיות ברור.
    controllers
    models
    DAL
    ועוד. אני בעצמי לא מומחה גדול למבנה פרוייקטים.
    תחליט על איזה ORM שאתה רוצה (objectiveJS או sequlizeJS)
    וצא לדרך.
    מסד נתונים, זה לא קשור לכאן. אני אישית אוהב PG.
    תשמור על הפרדה בין ה ORM לבין בcontrollers ע"י ה DAL (אני לא סגור שזה מה שה DAL אמור לעשות. אבל תעשה שכבה כזאת).
    ואז תהיה חופשי מבחינת ORM.

    שרת תשתמש ב EXPRESS

    אל תבנה על איזה CLI שיבנה לך. זה סתם מסרבל ולא נותן כלום בהיקפים של צוות קטן. (1 +-...)

    תפריד את הצד לקוח (SPA) לפרוייקט נפרד. לדעתי. וודאי שירוץ על שרת (סטטי) נפרד על Port אחר.

    בהצלחה.

  • שליחת ערכי טופס לאחר אימות

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

    @ass https://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php

  • עזרה עם הרצת פרוייקט פייתון

    6
    0 הצבעות
    6 פוסטים
    126 צפיות
    D

    @chv אמר בעזרה עם הרצת פרוייקט פייתון:

    @davidnead השאלה שלך יותר מידי כללית, בזמן שאתה כן נותן שגיאות ספציפיות.
    תפרט יותר באיזו גרסת פייתון אתה משתמש (לא מספיק להגיד '3', איזה תת גרסה)

    +3.9.2' אבל חלק מהענין אמור להיות שאם אני משתמש בסביבה וירטואלית זה משתמש בגרסה שמי שיצר את הסביבה השתמש, לא?

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

    נכון, בינתיים גיליתי את זה והתקנתי בדרך המומלצת לWIN (אגב לא מסובכת כ"כ)

    אני מנחש שזה django + GIS. אני טועה?

    סינית בשבילי.

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

  • 0 הצבעות
    3 פוסטים
    160 צפיות
    ASSA

    @איש-ימיני
    אני בניתי פרוייקט ממש דומה.
    תוכל לראות את השירשור כאן.

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

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

  • getTime אינו פונקציה

    הועבר
    23
    0 הצבעות
    23 פוסטים
    627 צפיות
    רפאלר

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

    אני מצרף את הDesign Goals מתוך הWIki של TypeScript (שים לב להדגשות):
     

    המטרות Statically identify constructs that are likely to be errors Provide a structuring mechanism for larger pieces of code Impose no runtime overhead on emitted programs

    Emit clean, idiomatic, recognizable JavaScript code

    Produce a language that is composable and easy to reason about

    Align with current and future ECMAScript proposals

    Preserve runtime behavior of all JavaScript code

    Avoid adding expression-level syntax

    Use a consistent, fully erasable, structural type system

    Be a cross-platform development tool

    Do not cause substantial breaking changes from TypeScript 1.0
     

    אינן המטרות

    Exactly mimic the design of existing languages. Instead, use the behavior of JavaScript and the intentions of program authors as a guide for what makes the most sense in the language.

    Aggressively optimize the runtime performance of programs. Instead, emit idiomatic JavaScript code that plays well with the performance characteristics of runtime platforms.

    Apply a sound or "provably correct" type system. Instead, strike a balance between correctness and productivity.

    Provide an end-to-end build pipeline. Instead, make the system extensible so that external tools can use the compiler for more complex build workflows.

    Add or rely on run-time type information in programs, or emit different code based on the results of the type system. Instead, encourage programming patterns that do not require run-time metadata.

    Provide additional runtime functionality or libraries. Instead, use TypeScript to describe existing libraries.

    Introduce behavior that is likely to surprise users. Instead have due consideration for patterns adopted by other commonly-used languages.

  • קוד מקור ב PHP סגור

    הועבר
    18
    0 הצבעות
    18 פוסטים
    517 צפיות
    sh774S

    @nigun אמר בקוד מקור ב PHP סגור:

    @sh774
    אין לי כח להפוך את השרשור לדיון על וירטאליזציה

    רק לצורך סגירת הנושא

    ותבדוק האם אפשר להריץ דוקר על VPS (אני יחסוך לך ויגלה לך שכן אפילו שאי אפשר להריץ VM)

    טעות שלי ההבדל ככל הנראה היה בגלל docker.io ו docker ce

  • חיפוש ( {{טקסט}} ) במחרוזת והחלפתם.

    12
    2 הצבעות
    12 פוסטים
    199 צפיות
    רפאלר

    @ש-ב-ח אמר בחיפוש ( {{טקסט}} ) במחרוזת והחלפתם.:

    היינו הך.

    כנראה הושפעתי מתשובתו החדה של @dovid

  • יצירת תווים/צלילים בC#

    הועבר
    2
    0 הצבעות
    2 פוסטים
    149 צפיות
    רפאלר

    @נ-נח

    DryWetMIDI NAudio MIDI Toolkiti

    הספרייה DryWetMIDI לדוגמא חושפת Fluent Api עם יכולות מדהימות:

    var pattern = new PatternBuilder() .Note(MusicTheory.Octave.Get(3).ASharp, length: MusicalTimeSpan.Quarter) .Note(MusicTheory.Octave.Get(3).C, length: MusicalTimeSpan.Eighth) .Build(); using (var outputDevice = OutputDevice.GetByName("Microsoft GS Wavetable Synth")) { pattern.Play(TempoMap.Default, (FourBitNumber)10, outputDevice); }

    עוד על הספרייה DryWetMIDI: Working with MIDI Devices

  • קו SIP זול בישראל

    הועבר
    22
    2 הצבעות
    22 פוסטים
    887 צפיות
    chocolateC

    @shraga אמר בקו SIP זול בישראל:

    @chocolate וכמה עולה לדקה?

    https://telnyx.com/pricing/elastic-sip/il

  • אסימון רענון ב API של יוטיוב ב PHP

    הועבר
    7
    0 הצבעות
    7 פוסטים
    230 צפיות
    yossizY

    @ass לא צריך

  • קובץ cURL מותאם אישית.

    הועבר
    16
    0 הצבעות
    16 פוסטים
    297 צפיות
    yossizY

    @ass מ-PHP גירסה 7.2 ומעלה לא צריך שם הקובץ המלא.
    בכל מקרה, קובץ ה-ini שמגיע עם ההתקנה מכיל את השורה הנכונה.

  • החלפת הקלדה לעברית.

    20
    1 הצבעות
    20 פוסטים
    292 צפיות
    רפאלר

    @אבי-203 ניתן להשתמש בביטוי רגולרי התואם לתווים בUnicode שאינם כלולים בASCII, על מנת לקבוע האם מחרוזת טקסט כלשהיא מכילה תווים שאינם לטיניים:

    /[^\x00-\x7F]+/.test("א") true /[^\x00-\x7F]+/.test("a") false

    לחלופין ביכולתך לציין בצורה מפורשת את התווים הרצויים:

    /[א-ת]+/.test("א") true /[א-ת]+/.test("a") false

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

  • 0 הצבעות
    5 פוסטים
    134 צפיות
    WWWW

    @mgm-ivr אמר בלחסום הודעת שגיאה בקודPHP|או פיתרון אחר...:

    אבל אני לא רוצה שיצא מהקוד אם הוא לא קיים
    כי זה כן צריך להיות קיים רק בהמשך..

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

  • אמיתי... מצאתי את זה בקוד שלי.

    10
    16 הצבעות
    10 פוסטים
    338 צפיות
    א

    @nigun אמר באמיתי... מצאתי את זה בקוד שלי.:

    @ארכיטקט
    אין כמויות
    אז הAI קצת יסתבך או שהוא יבין לבד מה יצא הכי טעים.

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

  • יצירת ברקוד בתוך vue

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

    @chagold
    https://jsfiddle.net/1706kgzL
    בהשראת: https://vuejsdevelopers.com/2017/05/20/vue-js-safely-jquery-plugin/

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

  • 5 הצבעות
    26 פוסטים
    416 צפיות
    D

    @dovid אמר בקוד חמוד/רע/איום ליצירת רשימת מספרים ב-JS:

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

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

  • התקנת PHP ב- nginx

    הועבר
    8
    0 הצבעות
    8 פוסטים
    174 צפיות
    ASSA

    @ass
    הסתדרתי!!!
    היה חסר לי קובץ php.ini
    אז פשוט יצרתי אחד כזה ריק והכל הסתדר.
    (זה עבד גם בלי השורות שאצלך).

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