获取 VBAIDE 扩展性对象。 支持的平台:仅窗口 属性值只读:是的 类型:微软 VBE 对象 VBAIDE 扩展性对象。 言论此属性允许您从 AutoCAD 的对象模型访问 VBA IDE 对象模型。如果 VBAIDE 不可用,该属性将引发异常。例如,如果尚未加载acvba.arx应用程序,则 VBAIDE 不可用。 以下代码行返回活动 VBA 项目说明字符串的名称: ThisDrawing.Application.VBE.ActiveVBProject.Description 例子工 务 局: Sub Example_VBE() ' This example uses the VBA IDE extensibility model to dynamically ' create a VBA subroutine. After running this example, see the first line of code ' in the VBA IDE code window to see a new subroutine. Then ' remove the new subroutine before continuing. Dim VBEModel As Object Dim newRoutine As String Set VBEModel = VBE ' Get the VBE object ' Define new subroutine to be added. This could be created dynamically from user feedback. newRoutine = "Sub Dynamic_Procedure()" & vbCrLf newRoutine = newRoutine & vbTab & "MsgBox ""New subroutine.""" & vbCrLf newRoutine = newRoutine & "End Sub" & vbCrLf ' Insert new subroutine VBEModel.CodePanes(1).CodeModule.InsertLines 1, newRoutine MsgBox "A new subroutine was added called Dynamic_Procedure." End Sub Visual LISP: (vl-load-com) (defun c:Example_VBE() ;; This example uses the VBA IDE extensibility model to dynamically ;; create a VBA subroutine. After running this example, see the first line of code ;; in the VBA IDE code window to see a new subroutine. Then ;; remove the new subroutine before continuing. ;; Note: You might need to add a code module to the default project first. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq VBEModel (vla-get-VBE acadObj)) ;; Get the VBE object ;; Define new subroutine to be added. This could be created dynamically from user feedback. (setq newRoutine (strcat "Sub Dynamic_Procedure()" "\n MsgBox \"New subroutine.\"" "\nEnd Sub")) ;; Insert new subroutine (vlax-invoke-method (vlax-get-property (vlax-invoke-method (vlax-get-property VBEModel 'CodePanes) 'Item 1) 'CodeModule) 'InsertLines 1 newRoutine) (alert "A new subroutine was added called Dynamic_Procedure.") ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:10
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.