获取 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-10-29 11:53
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.