CorelDRAW 编写和运行宏指令

开发和运行 CorelDRAW 宏指令之前,必须安装 VBA 组件。

安装 CorelDRAW VBA
VBA
CoerlDRAW 1112 中是作为典型安装的一部分安装。CoerlDRAW 10 中,VBA 必须自定义安装。
自定义安装 VBA
1  
插入标号为光盘1的安装CD到您的计算机的CD驱动器。如果安装程序不自动启动,双击D:/Setup.exe文件启动,其中     D:是您的计算机的CD驱动器。
2  
如果安装启动,然后点一下安装 CorelDRAW 12 图形套件。
3  
现在浏览安装目录 Corel Graphics Suite 12 / 实用工具 / ,并确保Visual Basic for Applications 6.3 设置为安装(默认)。
4  
禁用您不想安装的组件。
5  
单击下一步。任何被禁用的组件,都会被删除。

CorelDRAW VBA
工具栏
CorelDRAW
工具栏提供快捷的几个 VBA 的功能,和进入 VB 编辑器。

下载 (5.07 KB)

2008-9-19 09:26


工具栏按钮提供下列功能:
·  
运行宏
·  
打开VB编辑器
·  VB
编辑器设计和运行模式之间的开关
·  
录制宏
·  
暂停宏录制
·  
停止录制宏
这些功能在以后的章节描述。
显示 VBA 的工具栏,右击工具栏上任何空白位置从弹出式菜单中选择Visual Basic for Applications。另外,选择菜单:窗口工具栏—Visual Basic for Applications

编写宏
只能在 VB 编辑器中进行宏编辑。不过,您可以在 CorelDRAW 中进行录制以节省时间。
在所选择的项目创建一个新的VBA记录宏,然后可以在 VB 编辑器进行修改和自定义。

VB 编辑器写宏
宏指令在 VB 编辑可以充分利用程序控制代码,包括有条件的运行、循环、分支指令。包括这额外的指令并不只是单纯的宏,而是程序。在本指南中所有 VBA 代码统称为宏,虽然在某些情况宏只是在 CorelDRAW 下运行的代码。
使用 VB 编辑器开发宏在第 4 “Visual Basic 编辑器有详细被描述。
录制宏指令是非常有用的,特别当您不熟悉 CorelDRAW 对象模型,或者你不知道其中对象和方法的使用。对于许多简单而重复的任务,录制宏是一个快速、有效的解决办法。
录制的宏是真正意义上的宏:严格上讲,宏指令是一个可以反复引用在应用程序之内的操作记录。当你创建一个录制宏时虽然被限制为 CorelDRAW 的操作,并且不记录键盘和鼠标动作,但是您在 CorelDRAW 中操作的一个真实副本。

录制宏
录制一个新宏
1     
单击菜单:工具 — Visual Basic — 记录,或在 VBA 工具栏直接按记录按钮。
2     
宏名框输入一个名称。宏名必须遵循 VBA 的命名规则,它们是:
       ·   
必须以字母开头。
       ·   
可以包含数字,但不能作为第一个字符。
       ·   
不能包含空格或任何非字母数字字符,除了下划线( _ )。
       ·   
必须在宏存储位置选择一个项目。

下载 (16.44 KB)

2008-9-19 09:26


3     
从宏存储位置选择一个 VBA 项目(GMS)文件或 CorelDRAWCDR)文件。您可以在描述框中输入一段可选的注释。选择一个 GMS CDR 文件的好处,将在后一节讨论。
4     
单击确定。
       ·   CorelDRAW
开始记录你的每一个操作创建一个对象,移动一个对象,设置对象参数。
       ·   
单击菜单:工具 — Visual Basic — 停止,将停止记录,并保存宏。
       ·   
要暂停录制宏,单击菜单:工具 — Visual Basic — 暂停。
注意:不是在 CorelDRAW 的所有操作都会录制。由于他们的复杂性,一部分不可能被录制,但是他们可以通过用 VB编辑进行手动编码。当某操作不能被录制时,会有以下提示:不支持这个命令录制

备注:可以从 VBA 工具栏上控制宏的录制、暂停、停止。

此程序用于自动闭合曲线,相邻两点自动连接,应用此程序时,需要注意以下两点:
将所要自动闭合的曲线组合Ctrl+L),不是群组(Ctrl+G)
组合的曲线中没有杂点、单线,如从CADAI中导过来的图形,需仔细检查。
如上面两点没处理好,将导致程序处理缓慢,甚至假死。
如有高人能将此程序加上几句以处理以上问题,再好不过了。

Sub CloseShape()
'自动闭合曲线

 Dim s As Shape

 Dim e As Double, r As Double, nr As Double

 Dim sp As SubPath

 Dim sn As Node, en As Node, n1 As Node, n2 As Node

 Dim b As Boolean 

 Set s = ActiveShape

 If s.Type <> cdrCurveShape Then

  MsgBox "Curve must be selected"

  Exit Sub

 End If

 ' E is auto-join limit beyond which the nodes are joined rather than connected

 ' Here assumed to be 1% of an average object size

 e = s.SizeHeight * s.SizeWidth / 10000

 Do

  Set sn = Nothing

  Set en = Nothing

  Set n1 = Nothing

  Set n2 = Nothing

  b = False

  For Each sp In s.Curve.SubPaths

   If Not sp.Closed Then

    Set n1 = sp.StartNode

    Set n2 = sp.EndNode

    nr = n1.GetDistanceFrom(n2)

    If nr < e And sp.Nodes.Count > 2 Then

     n1.JoinWith n2

     b = True

    Else

     If sn Is Nothing Then

      Set sn = n1

      Set en = n2

      r = nr

     Else

      nr = sn.GetDistanceFrom(n1)

      If nr < r Then

       Set en = n1

       r = nr

      End If

      nr = sn.GetDistanceFrom(n2)

      If nr < r Then

       Set en = n2

       r = nr

      End If

     End If

    End If

   End If

   If b Then Exit For

  Next sp

  If Not b And Not sn Is Nothing Then

   If r < e Then sn.JoinWith en Else sn.ConnectWith en

   b = True

  End If

 Loop While b

End Sub

 

 

 

 

 

'VBA生成一个CorelDraw工具栏

Private Sub CommandButton2_Click()
     On Error Resume Next
     CommandBars("
我的工具").Delete
     CommandBars.Add("
我的工具").Visible = True
     FrameWork.CommandBars("
我的工具").Controls.AddCustomButton "2cc24a3e-fe24-4708-9a74-9c75406eebcd", "converto.conver.ConverTo"
End Sub

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

CHENGTEMING

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值