首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨VBA发送命令

跨VBA发送命令
EN

Stack Overflow用户
提问于 2017-08-14 15:07:20
回答 2查看 612关注 0票数 0

我正在用VBA编写一个脚本,在CorelDraw中创建一个绘图。我很难把课文放在中心位置。以下是CorelDraw的宏编辑器中正常工作的代码:

代码语言:javascript
复制
Dim s2 As Object
    Dim Txt As Object
    Dim test As String
    Dim returntest As String
    returntest = "Test~Test1234~Test56~Test789"
    test = Replace(returntest, "~", Chr(13))
    Set s2 = CorelApp.ActiveLayer.CreateArtisticText(-7.75, (1 - 0.5) / 2, test)
    Set Txt = s2.Text
    Txt.Story.Font = "Swis721 BT"
    Txt.Story.Size = 20
    Txt.Story.LineSpacing = 75
    Txt.Story.Alignment = cdrCenterAlignment
    s2.Fill.UniformColor.CMYKAssign 0, 0, 0, 100
    s2.Outline.SetNoOutline
    s2.CenterX = s1.CenterX
    s2.CenterY = s1.CenterY

s1只是一个已经定义的矩形。问题在于"cdrCenterAlignment“。VBA不承认它是有效的参数,因为它引用的是仅存在于CorelDraw中的内容。如果我称它为字符串,就会得到"cdrCenterAlignment变量未定义“或”类型不匹配“。如果可能的话,如何在中工作时将此命令/参数发送给CorelDraw?

我在向AutoCAD发送相同的绘图时遇到了类似的问题,但是我能够通过将东西发送到命令行来解决这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-14 15:21:18

在VBA代码中,您可以自己定义它:

代码语言:javascript
复制
Const cdrCenterAlignment = 3

https://community.coreldraw.com/sdk/api/draw/19/e/cdrAlignment

票数 1
EN

Stack Overflow用户

发布于 2017-08-14 15:27:44

引用CorelDRAW库(Tools > Reference ),并定义常量,您可以使用实际的CorelDRAW类型和API,享受IntelliSense和自动完成功能,而不是针对Object接口工作,并不断引用文档了解成员在哪些对象上可用,并在每次输入错误时处理运行时错误438,因为后期绑定的代码将很高兴地编译,只有在运行时才能解析。

添加对CorelDRAW类型库的引用将允许您编写在编译时解析的早期绑定代码,就像您针对VBAExcel类型库进行的函数调用一样,默认情况下在Excel项目中引用它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45677589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档