|
@@ -0,0 +1,37 @@
|
|
|
+' CorelDRAW VBA自动化调用菜单命令的例子
|
|
|
+'过程名称:打印全部菜单ID(用于自动化调用)
|
|
|
+
|
|
|
+Public Sub listMenuItemIDs()
|
|
|
+ On Error Resume Next
|
|
|
+ Dim cmdbar, ctl
|
|
|
+ For Each cmdbar In FrameWork.CommandBars
|
|
|
+ Debug.Print cmdbar & "工具栏下面的菜单项:"
|
|
|
+ For Each ctl In cmdbar.Controls
|
|
|
+ Debug.Print vbTab & ctl.id & " -> " & ctl.Caption
|
|
|
+ Next
|
|
|
+ Next
|
|
|
+End Sub
|
|
|
+
|
|
|
+' 拿到ID后,就可以通过自动化框架提供的方法来调用指定的菜单,参考代码如下:
|
|
|
+
|
|
|
+Sub 自动化调用()
|
|
|
+ Dim OrigSelection As ShapeRange
|
|
|
+ Set OrigSelection = ActiveSelectionRange
|
|
|
+ OrigSelection.Application.FrameWork.Automation.InvokeItem "e6644135-9dab-4935-8ab9-fc85527810ca"
|
|
|
+End Sub
|
|
|
+
|
|
|
+Public Sub listMenuItemIDs_savefile()
|
|
|
+ On Error Resume Next
|
|
|
+ Set fs = CreateObject("Scripting.FileSystemObject")
|
|
|
+ Set F = fs.CreateTextFile("D:\MenuItemIDs.txt", True)
|
|
|
+
|
|
|
+ Dim cmdbar, ctl
|
|
|
+ For Each cmdbar In FrameWork.CommandBars
|
|
|
+ F.WriteLine cmdbar & "工具栏下面的菜单项:"
|
|
|
+ For Each ctl In cmdbar.Controls
|
|
|
+ F.WriteLine vbTab & ctl.id & " -> " & ctl.Caption
|
|
|
+ Next
|
|
|
+ Next
|
|
|
+
|
|
|
+ F.Close
|
|
|
+End Sub
|