设为首页 收藏本站 English

当前位置: 大有五金网 >> Rca插座

有什么方法可以检测一个VBA宏是否加载压痕机

发布时间:2022-06-25 20:49:29

有什么方法可以检测一个VBA宏是否加载?

有什么方法可以检测一个VBA宏是否加载? 2011年12月10日 来源: 在AutoCAD 2000中,你可以获取一个属性名叫VBE的ActiveX应用程序对象。它使你可以访问VBAIDE扩展对象。这个对象拥有方法和属性允许你判断一个工程是否已经加载。 如果你想深入学习,就请启动VBAIDE,添加一个对"Microsoft Visual Basic for Applications Extensibility"的引用,然后你就可以在你的ObjectBrowser (F2)浏览此对象了。 以下是四个例子。第一个"loadMyProcedure"检测所有已经加载的工程名。如果没有发现"TestMenuEcho",就加载它。 第二个例子"testMacros"在每一个加载的模块中搜索每一行并且在立即窗口中 (cntrl + G)打印true或者false。目的在于寻找文本"test4"(宏的名字)。 第三个例子"displayLoadedProjects"在信息窗口中显示所有已加载的工程。 第四个例子是一个LISP例程。它使用相同的ActiveX对象判断一个工程是否已经加载,如果没有,就加载它。 Public Sub loadMyProcedure() Dim int1 As Integer Dim bProjectLoaded As Boolean ' Iterate through all the projects For int1 = 1 To Application.VBE.VBProjects.Count ' Make the test boolean variable to true if the Project I want to load ' is already loaded, Change TestMenuEcho to the name of your project If Application.VBE.VBProjects(int1).Name = "TestMenuEcho" Then ' Debug.Print Application.VBE.VBProjects(int1).Name bProjectLoaded = True End If Next int1 ' Display a message if my the project is already loaded ' if it isn't then load it, change the directory and ' name to that of your project If bProjectLoaded = True Then MsgBox "TestMenuEcho is already loaded" Else MsgBox "Going to load the project TestMenuEcho" Application.LoadDVB "D:\Vba-apps\a-2000\menuecho in menu.dvb" End If End Sub Public Sub testMacros() Dim int1 As Integer Dim int2 As Integer ' Iterate through all the loaded projects For int1 = 1 To Application.VBE.VBProjects.Count ' Name of loaded project Debug.Print Application.VBE.VBProjects(int1).Name ' Iterate through the text of each module looking for "test4" For int2 = 1 To Application.VBE.VBProjects(int1).VBComponents.Count ' Get the number of lines in each module - use in the ' find method below Dim L As Long L = Application.VBE.VBProjects(int1).VBComponents(int2) _ .CodeModule.CountOfLines Debug.Print Application.VBE.VBProjects(int1).VBComponents(int2) _ .CodeModule.Find("test4", 1, 1, L, 1, False, False) Next int2 Next int1 End Sub Public Sub displayLoadedProjects() Dim strProjectNames Dim int1 As Integer strProjectNames = "Names of loaded projects " & vbCrLf For int1 = 1 To Application.VBE.VBProjects.Count strProjectNames = strProjectNames + Application.VBE.VBProjects(int1).Name & vbCrLf Next int1 MsgBox strProjectNames End Sub (defun c:loadMyProject () ;; This routine will load a project if it is not already loaded ;; the VBE (VB extensibility) ActiveX object is used to reference ;; the loaded projects ;; Load ActiveX(vl-load-com) ;; Get the VBE extisibility object(setq acadObject (vlax-get-acad-object)) (setq acadVbe (vla-get-vbe acadObject)) (setq acadVbeProjects (vlax-get-property acadVbe 'VBProjects)) ;; Get the number of loaded VBA projects (setq int1 (vlax-get-property acadVbeProjects 'count)) ;; Counter and test variable named loaded(setq int2 1) (setq loaded "False") ;; Repeat for each project(repeat int1 ;; Itereate through the projects, getting the name of ;; next project, each time through(setq Item (vlax-invoke-method acadVbeProjects 'Item int2)) (setq pName (vlax-get-property Item 'Name)) ;; Test the name for the name of the project I want to load ;; If it is already loaded the set the test variable to True (if (= pName "my_test_project") (progn (prompt "\nmy_test_project is already loaded\n") (Setq Loaded "True")

南昌治白内障需要多少钱

福州食道癌手术多少钱

兰州无痛人流医院哪好

成都白癜风医院排行榜

石家庄外阴白斑专科医院

朔州妇科病检查哪个医院好

友情链接
半挂车尺寸 深度好睡眠 爱依瑞斯 WDS-5电子万能试验机 广州高质量床垫 扬州沉降网厂家 退行性骨关节炎怎么治 脑梗塞嘴歪了能治好吗 掉头发的治疗方法 哪种中药补肾精肾气 心功能不全浮肿有什么治疗办法吗 冠心病可以吃哪些中成补药 窦性心动过缓心律失常怎么办 肛肠手术后用什么药 更年期潮热汗出需要服药多久 锁阳固精丸的作用与功效 睡不好吃老来保参乌健脑胶囊管用吗 少精症用中药怎么调理 孩子流鼻血吃什么 冲击试验机 服装订制 玫瑰痤疮脸部不红肿胀咋回事 中医如何调理睡不着易醒 去除真菌的药物可以治疗灰指甲吗 治带状疱疹后遗神经痛的药物有哪些 七个月的宝宝肚子胀气怎么办 小孩消化不良吸收不好形体消瘦 风湿病的相关护理知识 宝宝有痰咳嗽怎么办 宝宝感冒适合吃什么 苏州妇科医院 家庭常备药 扬州网链价格 离婚咨询热线 北京离婚房产律师如何收费 同仁堂再造丸应该怎么服用 遗精是肾阳虚还是阴虚 感染新冠后如何缓解鼻塞咳嗽 工作服门户 劲戈什么时候吃效果好 瑞舒伐他汀和阿托伐他汀哪个好 复方聚维酮碘搽剂用多长时间见效 灰指甲会传染别人吗 真菌脚趾甲用亮甲用多久才会好 亮甲治疗灰指甲怎么用比较好 寻医问药 临汾治疗肿瘤专科医院哪家好 上海离婚财产分割咨询 大兴安岭肿瘤专科医院哪家好 深圳涉外离婚诉讼 广西南宁不孕不育医院哪家好 高端离婚律师 聊城治疗口腔专科医院 朝阳皮肤病 儿童免疫力低下吃什么 赵萍医生 违建拆除 Test Instrument 书辞网 太原定做西服 Non-Metal Broaching Machine Hardware Accessories 寻医问药 济南哪个医院看精神科好 四川哪里风湿病医院好 湖南结石病医院地址 江苏皮肤病医院哪家好 四川治疗甲亢医院哪家好 厦门资讯 Products In China 宝宝拉肚子是什么原因 小儿柴桂退热颗粒作用有哪些 小儿肺热咳喘口服液治疗孩子咳嗽效果好不好 美沙拉嗪肠溶片对肠炎有效吗