我正在用VBA编写一个脚本,在CorelDraw中创建一个绘图。我很难把课文放在中心位置。以下是CorelDraw的宏编辑器中正常工作的代码:
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.CenterYs1只是一个已经定义的矩形。问题在于"cdrCenterAlignment“。VBA不承认它是有效的参数,因为它引用的是仅存在于CorelDraw中的内容。如果我称它为字符串,就会得到"cdrCenterAlignment变量未定义“或”类型不匹配“。如果可能的话,如何在中工作时将此命令/参数发送给CorelDraw?
我在向AutoCAD发送相同的绘图时遇到了类似的问题,但是我能够通过将东西发送到命令行来解决这个问题。
发布于 2017-08-14 15:21:18
在VBA代码中,您可以自己定义它:
Const cdrCenterAlignment = 3https://community.coreldraw.com/sdk/api/draw/19/e/cdrAlignment
发布于 2017-08-14 15:27:44
引用CorelDRAW库(Tools > Reference ),并定义常量,您可以使用实际的CorelDRAW类型和API,享受IntelliSense和自动完成功能,而不是针对Object接口工作,并不断引用文档了解成员在哪些对象上可用,并在每次输入错误时处理运行时错误438,因为后期绑定的代码将很高兴地编译,只有在运行时才能解析。
添加对CorelDRAW类型库的引用将允许您编写在编译时解析的早期绑定代码,就像您针对VBA或Excel类型库进行的函数调用一样,默认情况下在Excel项目中引用它们。
https://stackoverflow.com/questions/45677589
复制相似问题