CorelDRAW VBA - 创建美术字文本并沿着形状路径排列

公告


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

coreldraw-vba-create-artistic-text

目的

这篇教程将教会你使用 CorelDRAW VBA代码在文档中创建美术字文本,并调用 FitTextToPath 方法让文本沿着形状的路径排列。

美术字文本是一种短文本,适合显示文字内容较少(通常是一行)的文本内容,可以给美术字文本应用图形效果。与之相反的段落文本,则适合显示内容较多的文本内容,并可以对其设置更加复杂的排版方式,本文暂且不讨论段落文本。

创建美术字

要创建一个美术字文本,你可以使用以下方法之一:

  • Layer.CreateArtisticText:用来创建基本的美术字文本
  • Layer.CreateArtisticTextWide:用来创建带有Unicode字符的美术字文本

这两个方法都需要指定美术字文本对象的坐标及其文本内容,同时也提供了可选的扩展参数用来设置字体名称、字体大小、字体格式、对其方式等等。调用这两个方法,返回的都是一个 Shape(形状)对象。代码演示如下:

' 声明形状变量
Dim sh As Shape
' 设置当前活动文档的单位为毫米
ActiveDocument.Unit = cdrMillimeter
' 创建一个内容为 Hello Zebe 的美术字
Set sh = ActiveLayer.CreateArtisticText(0, 0, "Hello Zebe")

运行效果如下图所示:


coreldraw-vba-create-artistic-text-1

把美术字文本沿着形状路径排列

Text 类提供了一个 FitTextToPath 方法,该方法用于简单地将文本附加到一个形状的外轮廓路径上。具体请查看下面的代码演示:

 ' 声明变量
Dim sh As Shape, sPath As Shape
' 设置文档单位为毫米
ActiveDocument.Unit = cdrMillimeter
' 创建形状路径
Set sPath = ActiveLayer.CreateEllipse(0, 10, 60, 60)
' 创建美术字文本
Set sh = ActiveLayer.CreateArtisticText(1, 4, "这是沿着形状路径排列的美术字")
' 把美术字沿着路径排列
sh.Text.FitToPath sPath

运行效果如下图所示:


coreldraw-vba-create-artistic-text-2

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

你可能感兴趣的:(CorelDRAW VBA - 创建美术字文本并沿着形状路径排列)