返回列表 上一主題 發帖

[發問] VBA專案內程序調用關係

本帖最後由 Andy2483 於 2023-4-20 15:54 編輯

回復 2# Scott090

謝謝前輩發表此主題
後學有複雜調用案子,很想學這帖關係表的知識,請前輩指導,謝謝前輩
請教前輩:
1. 先從本workbook 之 VBComponents 取得 各類 Module、Class 及其中的 sub、function、property
     確定workbook有那一些 模組及其子程序等。

後學有找到 http://forum.twbts.com/viewthrea ... ght=VBComponents%2B
這帖 阿龍前輩的解答,但是只有(活頁簿名稱,模組名稱,程序名稱),這樣好像無法知道調用關係,請前輩指導

執行結果:



Sub 找巨集名稱()
Application.DisplayAlerts = False
[A1] = "活頁簿名稱"
[B1] = "模組名稱"
[C1] = "程序名稱"
R = 2
Set WB = ThisWorkbook
  For Each VBC In WB.VBProject.VBComponents
    Select Case VBC.Type
      Case 1  '1=一般模組
        LS = VBC.CodeModule.CountOfLines
        'Debug.Print LS
        LineStr = VBC.CodeModule.Lines(1, LS)
        Lines = Split(LineStr, vbCrLf)
        For Each Line In Lines
            If Line Like "Sub*" Then
              Cells(R, 1) = WB.Name
              Cells(R, 2) = VBC.Name
              Cells(R, 3) = Line
              R = R + 1
            End If
        Next 'Line
      Case Else
    End Select
  Next  'VBC
Columns.AutoFit
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 4# Scott090


    謝謝前輩回復
前輩知道如何將vba的程式碼匯到工作表儲存格裡嗎?
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

本帖最後由 Andy2483 於 2023-4-21 15:18 編輯

回復 6# Scott090


    謝謝前輩指導,後學有測試成功
目前感覺#3樓 + #6樓的輸出結果可以抓出一般模組的程序調用關係

不知道有沒有類似樹狀關係圖可以查看,不然像專業複雜點的程式怎麼管理?
後學學得太淺了,謝謝前輩
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 犯錯出懺悔心,才能清淨無煩惱。
返回列表 上一主題