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

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

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

קוד vba לייצוא כל המודולים בבת אחת

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

    קוד vba לייצוא מודולים

    Sub ייצוא_מודולים()
    'נוצר על ידי pcinfogmach
    
    Dim sourceDoc As Object ' מסמך מקור המכיל את המודולים
    Dim targetDoc As Object ' מסמך יעד להעתקת המודולים אליו
    Dim sourceModule As Object ' מודול מקור
    Dim targetModule As Object ' מודול יעד
    Dim fileDialog As Object ' דיאלוג לבחירת קובץ
    Dim savePath As String ' נתיב לשמירת המודולים המיוצאים
    Dim mysavePath As String ' נתיב לשמירת המודולים המיוצאים
    Dim saveFolder As Object ' דיאלוג לבחירת תיקייה
        
        ' יצירת דיאלוג לבחירת קובץ
        Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)
        
        ' אפשרות לבחירת קובץ יחיד בלבד
        fileDialog.AllowMultiSelect = False
        
    '    הגדרת הכותרת והסינונים לדיאלוג
        fileDialog.Title = "בחר מסמך מקור"
        fileDialog.Filters.Clear
        fileDialog.Filters.Add "מסמכי וורד", "*.docm; *.dotm; *.dot"
        
        ' הצגת הדיאלוג ובדיקה אם נבחר קובץ
        If fileDialog.Show = -1 Then
        ' הגדרת הקובץ הנבחר כמסמך המקור
            Set sourceDoc = Documents.Open(fileDialog.SelectedItems(1))
            
        ' יצירת דיאלוג לבחירת תיקיית יעד
        Set saveFolder = Application.fileDialog(msoFileDialogFolderPicker)
        ' הגדרת הכותרת לדיאלוג
        saveFolder.Title = "בחר תיקיית יעד"
    
                ' הצגת הדיאלוג ובדיקה אם נבחרה תיקייה
            If saveFolder.Show = -1 Then
                        ' הגדרת התיקייה הנבחרת כנתיב השמירה
                savePath = saveFolder.SelectedItems(1) & Application.PathSeparator
    
            ' לולאה על כל מודול במסמך המקור
            For Each sourceModule In ActiveDocument.VBProject.VBComponents
             'קבלת שם המודול
                    Dim moduleName As String
                    moduleName = sourceModule.Name
                    
                ' בניית נתיב הקובץ לשמירת המודול המיוצא באמצעות השם המקורי
                If sourceModule.Type = 1 Or sourceModule.Type = 100 Then
                    mysavePath = savePath & moduleName & ".bas"
                ElseIf sourceModule.Type = 2 Then
                    mysavePath = savePath & moduleName & ".cls"
                ElseIf sourceModule.Type = 3 Then
                    mysavePath = savePath & moduleName & ".frm"
                End If
                
         ' ייצוא המודול מהמסמך המקור באמצעות נתיב הקובץ
                    sourceModule.Export mysavePath
    
            Next sourceModule
            
          ' סגירת המסמך המקור בלי שמירת שינויים
            sourceDoc.Close False
        End If
        End If
    End Sub
    

    גמ"ח מידע מחשבים ואופיס

    תגובה 1 תגובה אחרונה
    6
    • pcinfogmachP מנותק
      pcinfogmachP מנותק
      pcinfogmach
      כתב ב נערך לאחרונה על ידי
      #2

      שמתי לב שיש בעיה הגירסאות מסויימות של וורד שהקוד מייצא עברית בגיבריש

      גמ"ח מידע מחשבים ואופיס

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

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

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

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