公告
本专栏的相关的文章已不在简书同步更新,请直接访问 VBA探秘 官方网站或关注微信公众号获取最新文章动态。

目的
这篇教程将教会你使用 CorelDRAW VBA代码在文档中创建矩形。
无论任何形状,都是创建在图层上面的,图层(Layer)对象提供了以下方法用来创建矩形:
- Layer.CreateRectangle
- Layer.CreateRectangle2
同样的,正方形也是矩形,用以上的方法也可以创建正方形。下面依次介绍这两个方法:
CreateRectangle(基于边距创建矩形)
CreateRectangle 这个方法通过使用 4 个参数来创建矩形,如下所示:
' 定义一个形状对象
Dim s As Shape
' 设置当前活动文档的单位为毫米
ActiveDocument.Unit = cdrMillimeter
' 在当前活动图层创建一个矩形(默认坐标参考点是左下角,请改变 ActiveDocument.ReferencePoint 的值来尝试不同效果)
Dim left, top, right, bottom
left = 10 ' 从文档左边距离1厘米处开始绘制
top = 10 ' 从距离底部距离1厘米处开始绘制
right = 40 ' 从文档左边距离1厘米处开始,向右一直绘制到4厘米处,相当于矩形的宽度为3厘米(40-10)
bottom = 60 ' 从文档底部距离1厘米处开始,距离底部距离一共6厘米,相当于矩形的高度为5厘米(60-10)
' 创建矩形
Set s = ActiveLayer.CreateRectangle(left, top, right, bottom)
代码运行效果图:

CreateRectangle2(基于坐标和宽度创建矩形)
CreateRectangle2 这个方法基于文档左下角的坐标、宽度和高度来创建矩形,如下所示:
' 定义一个形状对象
Dim s As Shape
' 设置当前活动文档的单位为毫米
ActiveDocument.Unit = cdrMillimeter
' 在当前活动图层创建一个矩形(默认坐标参考点是左下角,请改变 ActiveDocument.ReferencePoint 的值来尝试不同效果)
Dim x, y, width, height
x = 0 ' 横坐标为0
y = 0 ' 纵坐标为0
width = 100 ' 宽度10厘米
height = 20 ' 高度2厘米
' 创建矩形
Set s = ActiveLayer.CreateRectangle2(x, y, width, height)
代码运行效果图:

创建圆角矩形
以上的三个创建矩形的方法,都提供了额外的参数来创建圆角矩形,如下所示:
' 定义一个形状对象
Dim s As Shape
' 设置当前活动文档的单位为毫米
ActiveDocument.Unit = cdrMillimeter
' 在当前活动图层创建一个矩形(坐标点默认是从左下角开始,这个可以改变)
Dim x, y, width, height
x = 0 ' 横坐标为0
y = 0 ' 纵坐标为0
width = 100 ' 宽度10厘米
height = 20 ' 高度2厘米
' 设置圆角为5
Set s = ActiveLayer.CreateRectangle2(x, y, width, height, 5, 5, 5, 5)
代码运行效果图:

原创声明:本文首发于个人CorelDRAW VBA博客,请尊重文章版权。
转载请注明原文链接:http://www.cdrvba.com/coreldraw-vba-create-rectangle
网友评论