- 帖子
- 913
- 主題
- 150
- 精華
- 0
- 積分
- 1089
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- office 2019
- 閱讀權限
- 50
- 性別
- 女
- 註冊時間
- 2011-8-28
- 最後登錄
- 2023-7-19
 
|
回復 4# 准提部林
回復 3# quickfixer
二位好,
我把程式抓下來想測試,但卡住了,可以幫我看看嗎?
- Sub Command1_Click()
- ' Declare variables to access the Excel workbook.
- Dim objXLApp As Excel.Application
- Dim objXLWorkbooks As Excel.Workbooks
- Dim objXLABC As Excel.Workbook
- ' Declare variables to access the macros in the workbook.
- Dim objProject As VBIDE.VBProject
- Dim objComponent As VBIDE.VBComponent
- Dim objCode As VBIDE.CodeModule
- ' Declare other miscellaneous variables.
- Dim iLine As Integer
- Dim sProcName As String
- Dim pk As vbext_ProcKind
- ' Open Excel, and open the workbook.
- Set objXLApp = New Excel.Application
- Set objXLWorkbooks = objXLApp.Workbooks
- Set objXLABC = objXLWorkbooks.Open("C:\ABC.XLS")
- ' Empty the list box.
- List1.Clear
- ' Get the project details in the workbook.
- Set objProject = objXLABC.VBProject
- ' Iterate through each component in the project.
- For Each objComponent In objProject.VBComponents
- ' Find the code module for the project.
- Set objCode = objComponent.CodeModule
- ' Scan through the code module, looking for procedures.
- iLine = 1
- Do While iLine < objCode.CountOfLines
- sProcName = objCode.ProcOfLine(iLine, pk)
- If sProcName <> "" Then
- ' Found a procedure. Display its details, and then skip
- ' to the end of the procedure.
- List1.AddItem objComponent.Name & vbTab & sProcName
- iLine = iLine + objCode.ProcCountLines(sProcName, pk)
- Else
- ' This line has no procedure, so go to the next line.
- iLine = iLine + 1
- End If
- Loop
- Set objCode = Nothing
- Set objComponent = Nothing
- Next
- Set objProject = Nothing
- ' Clean up and exit.
- objXLABC.Close
- objXLApp.Quit
- End Sub
複製代碼 |
|