- 这里再回头说一下转曲转全部页面, 之前的转曲是没有套循环的,只能转当前页面
Sub 第一个插件()For Each Item In CorelDRAW.ActiveDocument.PagesItem.FindShapes(Type:=cdrTextShape).ConvertToCurvesNext
End Sub
我们把代码稍作修改套上循环
这样子程序就会在每个页面里面去找未转曲的内容并转曲了
我们前面已经看到了VB循环用法
item
在这里面每一次循环就代表coreldraw.ActiveDocument.Pages里面的页面1,页面2,页面3,页面4等等,有多少页就循环多少次,然后在内部,我们从item直接就相当于从Page
这个对象开始接着写了
FindShapes
这个就是Page里面的一个功能,可以只写Type:=
这个就是相当于告诉程序我只传这一个参数,我不知道原函数里面有没有重构函数,但是看开发者手册里面的介绍参数的时候用了一个中括号[],这就代表是可以省略的参数,所以我估计是有重构函数的,所以程序是可以只传某一个参数的,当然实际还要去C++里面看一下代码提示才知道有没有重构.这都不重要了.我们只要知道这一种用法就可以了
当程序执行到Item.FindShapes(Type:=cdrTextShape)
这一段的时候,程序返回的是一个形状的集合,这个集合里面全是文字,且未转曲的. 然后执行后面那一句ConvertToCurves
的时候,这个功能是属于ShapeRange
对象的,并不是Shape
对象,大家了解一下就行了, 而且shapeRange和shape有很多功能都是相同的,不然不了解也并不影响我们使用.