公告
本专栏的相关的文章已不在简书同步更新,请直接访问 VBA探秘 官方网站或关注微信公众号获取最新文章动态。
目的
这篇教程将教会你使用 CorelDRAW 来创建自己的宏工程(项目)。宏工程(GMS工程)主要是用于开发自定义程序,它将所有VBA代码保存在一个后缀名为 .gms
的文件中,该文件可以拷贝到其他机器上供他人使用。
注意:高版本 CorelDRAW 创建的GMS工程可能在低版本中无法使用,但是,在低版本 CorelDRAW 中创建的GMS宏工程可以在高版本的 CorelDRAW 中使用。
一、创建宏工程
打开 CorelDRAW X7,执行工具菜单下的“宏 > 宏管理器”命令,或者按快捷键【Alt】+【Shift】+【F11】打开宏管理器面板,选中 Visual Basic For Applications
节点,执行面板顶部的“新建宏工程”命令,如下图所示:
我们将这个宏工程命名为MyMacro
。保存该宏工程(GMS工程)后,在面板上可以看到我们刚刚创建的宏工程。展开这个宏工程的默认脚本,右键点击,执行“编辑”命令,进入VBA代码编辑界面,如下图所示:
编写VBA代码
进入VBA代码编辑器界面,默认是空白的,没有任何代码。我们在窗口中键入以下3行代码:
Sub main()
MsgBox "Hello, This is my first macro project!"
End Sub
如下图所示:
代码说明:这3行VBA代码的作用是创建了一个名为 main
的过程(方法),该过程(方法)的功能是使用 VB函数 MsgBox
弹出一个消息框,你如果已经阅读过 CorelDraw VBA - 第一个Hello World程序 这篇文章,就知道它的作用了。下面我们试着运行它看看。
运行宏工程
进入文档界面,在宏管理器面板中,找到我们创建的 MyMacro
宏工程,可以看到多出了一个可运行的脚本节点。双击即可运行,如下图所示:
入口函数(方法)暴露
入口函数,也叫入口方法。在程序语言设计中是一个通用的概念。即指定一个代码块,程序将从这个代码块开始运行,相当于程序的入口。
现在,我们再加入一个名为 invisibleMethod
的过程(方法),在方法前面用 Private
关键字来修饰。VBA代码如下:
Private Sub invisibleMethod()
MsgBox "This method is private method."
End Sub
同时,我们再将 main
过程(方法)中的代码体修改一下,让它调用这个过程,VBA代码如下:
Sub main()
invisibleMethod
End Sub
连起来,代码如下:
Sub main()
invisibleMethod
End Sub
Private Sub invisibleMethod()
MsgBox "This method is private method."
End Sub
现在,再到宏管理器面板去查看,会发现这个方法不会被暴露出来。双击运行 main
,会发现 invisibleMethod
被调用了,如下图所示:
小结
- 宏工程是用来编写自定义全局宏代码的,与 CorelDraw VBA - 第一个Hello World程序 这篇文章不同的是,后者是将VBA代码和文档放在一起运行。这种方式不太好,在某些情况下,带有VBA代码的 CorelDRAW 文档,可能无法打开,或者打开时会提示错误。
- 宏工程又叫GMS工程,宏工程的文件后缀名是
.gms
。 - 宏工程文件默认存放的路径是在
你的CorelDRAW软件安装目录
/Draw/GMS 这个文件夹下面。 - 可以用
Private
关键字来修饰一个隐藏的方法,该方法表示是当前模块私有的,不会对外公开。
原创声明:本文首发于个人CorelDRAW VBA博客,请尊重文章版权。
转载请注明原文链接:http://www.cdrvba.com/coreldraw-vba-macro-project/