דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. מאקרו לוורד להוספת גרשיים בציטוט מפרוייקט השו"ת

מאקרו לוורד להוספת גרשיים בציטוט מפרוייקט השו"ת

מתוזמן נעוץ נעול הועבר תוכנה
10 פוסטים 3 כותבים 237 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מעלה ומורידמ מנותק
    מעלה ומורידמ מנותק
    מעלה ומוריד
    כתב ב נערך לאחרונה על ידי מעלה ומוריד
    #1

    בקבוצת גוגל של עורכים תורניים המחוברים למייל בלבד ביקשו כמה עורכים אם יש מאקרו שיוסיף ציטוט לטקסט שמועתק מפרוייקט השו"ת בתבנית הבאה:
    וַיֹּאמֶר לָאִישׁ לְבוּשׁ הַבַּדִּים אֲשֶׁר מִמַּעַל לְמֵימֵי הַיְאֹר עַד מָתַי קֵץ הַפְּלָאוֹת (דניאל יב, ו)
    הרצון הוא לקבל:
    "וַיֹּאמֶר לָאִישׁ לְבוּשׁ הַבַּדִּים אֲשֶׁר מִמַּעַל לְמֵימֵי הַיְאֹר עַד מָתַי קֵץ הַפְּלָאוֹת" (דניאל יב, ו)

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

    אשמח להכוונה ו/או לפתרון

    מנע בזבוז זמן, זכה את הרבים!

    dovidD תגובה 1 תגובה אחרונה
    1
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב למעלה ומוריד ב נערך לאחרונה על ידי
      #2

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

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      מעלה ומורידמ תגובה 1 תגובה אחרונה
      0
      • מעלה ומורידמ מנותק
        מעלה ומורידמ מנותק
        מעלה ומוריד
        השיב לdovid ב נערך לאחרונה על ידי מעלה ומוריד
        #3

        @dovid אכן מדובר על וורד (ערכתי), והכוונה היא למאקרו שידביק וישנה

        מנע בזבוז זמן, זכה את הרבים!

        dovidD תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב למעלה ומוריד ב נערך לאחרונה על ידי
          #4

          @מעלה-ומוריד הצלחתי לעשות קוד לזה, אבל זה מצריך גם שני הפניות.
          הקוד הוא:

          Sub Macro1()
              Dim pasteObject As New DataObject
              pasteObject.GetFromClipboard
              Dim text As String
              text = pasteObject.GetText
              
              Dim stringOne As String
              Dim regexOne As Object
              Set regexOne = New regExp
              
              'text = "test test (and test) more (source test)"
          
              regexOne.Pattern = "(.+) (\([^\)]+\))"
              regexOne.Global = False
              
              
              text = regexOne.Replace(text, """$1"" $2")
              Debug.Print text
              ActiveDocument.Content.InsertAfter text
          End Sub
          

          צריך להוסיף הפניה ל
          Microsoft VBScript Regular Expressions 5.5
          דרך Tools>Reference...
          ועוד הפניה לMicrofsoft Forms 2.0
          שהדרך להוסיף אותו זה להוסיף טופס כל שהוא למסמך...
          לוחצים בימני על הNormal ואז Insert ואז UserForm.

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          מעלה ומורידמ תגובה 1 תגובה אחרונה
          2
          • מעלה ומורידמ מנותק
            מעלה ומורידמ מנותק
            מעלה ומוריד
            השיב לdovid ב נערך לאחרונה על ידי מעלה ומוריד
            #5

            @dovid גיוואלדיג!
            תודה רבה ועצומה עד למאד!
            האם תוכל להוסיף שורה שתעביר את הסמן לאחר ההדבקה לסוף הקטע המודבק? (גם כאשר ההדבקה באמצע טקסט) למען ירוץ הכותב בו...

            מנע בזבוז זמן, זכה את הרבים!

            dovidD תגובה 1 תגובה אחרונה
            1
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב למעלה ומוריד ב נערך לאחרונה על ידי
              #6

              @מעלה-ומוריד תודה. תנסה את זה:

              Sub Macro1()
                  Dim pasteObject As New DataObject
                  pasteObject.GetFromClipboard
                  Dim text As String
                  text = pasteObject.GetText
                  
                  Dim regexOne As New regExp
                  
                  regexOne.Pattern = "^(.+) (\([^\)]+\))$"
                  regexOne.Global = False
                      
                  text = regexOne.Replace(text, """$1"" $2")
              
                  Selection.InsertBefore text
                  Selection.Collapse wdCollapseEnd
              End Sub
              

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              מעלה ומורידמ תגובה 1 תגובה אחרונה
              1
              • מעלה ומורידמ מנותק
                מעלה ומורידמ מנותק
                מעלה ומוריד
                השיב לdovid ב נערך לאחרונה על ידי מעלה ומוריד
                #7

                @dovid עובד מצוין!
                תודה רבה!

                מנע בזבוז זמן, זכה את הרבים!

                תגובה 1 תגובה אחרונה
                0
                • י מנותק
                  י מנותק
                  יוסף בן שמעון
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @dovid אתה ניגש לבעיה בראש של מתכנת, אבל לענ"ד כדאי ש @מעלה-ומוריד יכיר את העוצמה של המאקרו בלי לדעת מילה ב VBA
                  השלבים שאני הייתי עושה בלי להיות מתכנת VBA הם כך:

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

                  וזו התוצאה

                  Sub הדבק_עם_מרכאות()
                      Selection.TypeText Text:=""""
                      Selection.Paste
                      Selection.Find.ClearFormatting
                      Selection.Find.Replacement.ClearFormatting
                      With Selection.Find
                          .Text = " ("
                          .Forward = False
                          .Wrap = wdFindAsk
                      End With
                      Selection.Find.Execute
                      Selection.MoveLeft Unit:=wdCharacter, Count:=1
                      Selection.TypeText Text:=""""
                      Selection.Find.ClearFormatting
                      Selection.Find.Replacement.ClearFormatting
                      With Selection.Find
                          .Text = ")"
                          .Forward = True
                          .Wrap = wdFindAsk
                      End With
                      Selection.Find.Execute
                      Selection.MoveRight Unit:=wdCharacter, Count:=1
                  End Sub
                  
                  
                  מעלה ומורידמ dovidD 2 תגובות תגובה אחרונה
                  5
                  • מעלה ומורידמ מנותק
                    מעלה ומורידמ מנותק
                    מעלה ומוריד
                    השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                    #9

                    @יוסף-בן-שמעון 🙂
                    אני בלבלתי אותו
                    כתבתי שניסיתי את כל האפשרויות...
                    תודה רבה גם לך!

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

                    מנע בזבוז זמן, זכה את הרבים!

                    תגובה 1 תגובה אחרונה
                    2
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                      #10

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

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

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      תגובה 1 תגובה אחרונה
                      4

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

                      • אין לך חשבון עדיין? הרשמה

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