תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    חוקי הפורום

    VBA. איך לפתוח ולעבוד עם WORD על ידי ACCESS

    תכנות
    4
    9
    107
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • Y
      Y.Excel.Access נערך לאחרונה על ידי Y.Excel.Access

      איך לפתוח WORD ולעבוד עליו על ידי ACCESS?

      הצורך הוא -
      אם הוא פתוח: להצביע על הגירסה הפתוחה שלו ולהעביר את המיקוד (FOCUS) אליו.
      אם הוא סגור: לפתוח אותו ולהצביע ולהתמקד עליו.

      אח"כ לערוך אותו וכו' זה כבר פשוט.

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

      Y.Excel.Access @ gmail.com

      chagold תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • chagold
        chagold @Y.Excel.Access נערך לאחרונה על ידי chagold

        @Y-Excel-Access re רק קוד לפתוח אותו או גם לערוך אותו באקסס (וא"כ מה זה כולל עוד)

        ככה?

        Sub automateword()
            Set wordapp = CreateObject("word.Application")
            wordapp.documents.Open "C:\Users\DT168\Desktop\KTW\test.docx"
            wordapp.Visible = True
        End Sub
        
        Y תגובה 1 תגובה אחרונה תגובה ציטוט 1
        • Y
          Y.Excel.Access @chagold נערך לאחרונה על ידי Y.Excel.Access

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

          Y.Excel.Access @ gmail.com

          yossiz תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • yossiz
            yossiz @Y.Excel.Access נערך לאחרונה על ידי

            @Y-Excel-Access נראה לי שצריך להשתמש ב-getObject במקום createObject כדי לקבל מופע קיים של וורד
            עיין בכתבה זו: https://learn.microsoft.com/en-us/office/troubleshoot/office-suite-issues/getobject-createobject-behavior

            אני פתוח להצעות עבודה: יוסי@מייל.קום

            OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • OdedDvir
              OdedDvir @yossiz נערך לאחרונה על ידי OdedDvir

              @yossiz לכאורה צריך את שניהם לשני המקרים:

              Public Sub CanIHaveAWordPlease()
                  Dim WordApp As Object
                  'Try to get an open instance
                  On Error Resume Next
                  Set WordApp = GetObject(, "Word.Application")
                  On Error GoTo 0
                  'If nothing was found, create a new instance
                  If WordApp Is Nothing Then
                      Set WordApp = CreateObject("Word.Application")
                      WordApp.Documents.Add
                  End If
                  WordApp.Visible = True
                  WordApp.Activate
              End Sub
              
              
              Y תגובה 1 תגובה אחרונה תגובה ציטוט 4
              • Y
                Y.Excel.Access @OdedDvir נערך לאחרונה על ידי Y.Excel.Access

                @OdedDvir ו @yossiz תודה רבה.
                זה באמת היה הכיוון מחשבה שלי, וקיבלתי את האישור (וא"כ אין הבאג תלוי אלא בי:( 🙂 - בקוד שניסיתי ליצור מזה, אבל השיטה נכונה.

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

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

                Dim wrdDoc As Variant
                     Set wrdDoc = wrdApp.Documents.Open(strPathFile)
                

                בקוד זה הוא אומר שספריית "C:\USERS\שם המשתמש שלי\DECUMENTS לא נמצאה

                Dim wrdDoc As Variant
                Set wrdDoc = wrdApp.Documents(Right(strPathFile, Len(strPathFile) - InStrRev(strPathFile, "\"))).Activate
                

                בקוד זה הוא אומר "שם קובץ לא תקין" שגיאה 4160

                כמובן בדקתי שהקישור פעיל - נפתח בלחיצה וכו'

                אשמח לעזרה שוב!

                Y.Excel.Access @ gmail.com

                chagold תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • chagold
                  chagold @Y.Excel.Access נערך לאחרונה על ידי

                  @Y-Excel-Access
                  תיקח קובץ טקסט
                  תהפוך את הסיומת לudl,
                  תפתח אותו שוב ע"י לחיצה כפולה
                  תקשר אותו למסד הנתונים שאתה רוצה להתחבר אליו (עד שאתה מקבל הודעת אישור שהקונקט הצליח).
                  אח"כ תפתח אותו שוב בטקסט והרי לך הנתיב.

                  OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • OdedDvir
                    OdedDvir @chagold נערך לאחרונה על ידי

                    @chagold אני חושב שהוא לא התכוון לקשר את המסמך word למסד הנתונים, אלא פשוט לפתוח את המסמך מתוך קוד vba שרץ באקסס.
                    @Y-Excel-Access בקוד שצירפת אתה לוקח רק את שם הקובץ ללא הנתיב, אתה אמור להכניס את הנתיב המלא של הקובץ:

                    C:\Users\MyUser\Documents\Word\MyFile.docx
                    

                    כי אם תכתוב רק את שם הקובץ, כך:

                    MyFile.docx
                    

                    הוא יחפש אותו בתיקייה הנוכחית (שבה רץ הקוד).
                    אגב, כדי לטפל במאפייני קובץ, כגון להסיר נתיב\סיומת\וכו' מומלץ להשתמש באובייקט FileSystemObject שמיועד לכך.

                    תגובה 1 תגובה אחרונה תגובה ציטוט 3
                    • Y
                      Y.Excel.Access נערך לאחרונה על ידי Y.Excel.Access

                      @OdedDvir כתב בVBA. איך לפתוח ולעבוד עם WORD על ידי ACCESS:

                      אגב, כדי לטפל במאפייני קובץ, כגון להסיר נתיב\סיומת\וכו' מומלץ להשתמש באובייקט FileSystemObject שמיועד לכך.

                      תודה רבה, ההוספה הזו היתה ממש תועלתית!
                      לתועלת הכלל אני כעת לומד על זה מ https://trumpexcel.com/vba-filesystemobject/
                      (מסתבר שיש עוד קישורים לאתרי לימוד מוצלחים, זה מה שראיתי כרגע)

                      Y.Excel.Access @ gmail.com

                      תגובה 1 תגובה אחרונה תגובה ציטוט 1
                      • 1 / 1
                      • פוסט ראשון
                        פוסט אחרון
                      בא תתחבר לדף היומי!