【发布时间】:2015-02-13 11:37:43
【问题描述】:
在使用 VBA 自动化 Adobe Illustrator CS3 时,我发现将 布尔变量 分配给 布尔属性 会导致始终分配 False:
Dim New_Path As Illustrator.PathItem
Dim v As Boolean
' ...
v = True
New_Path.Filled = v ' ERROR: New_Path.Filled is False
v = False
New_Path.Filled = v ' New_Path.Filled remains False
分配给常量可以正常工作:
Dim New_Path As Illustrator.PathItem
' ...
New_Path.Filled = True ' New_Path.Filled is True
New_Path.Filled = False ' New_Path.Filled is False
已针对各种 AI 布尔属性进行验证,例如 PathItem.Stroked、Layer.Visible 等。
验证Photoshop.ArtLayer.Visible。
已针对 VB6 验证。
所以,我觉得这种行为在 Adobe Adobe Creative Suite 产品中很常见。
这是错误还是功能?
【问题讨论】:
-
先尝试初始化它:
Dim New_Path As New Illustrator.PathItem。你可以试试New_Path.Filled = Cbool(v) -
初始化做得很好但上面没有显示 - 不用担心!
-
Cbool 工作正常。我想知道为什么它会,而分配却没有。例如,为什么分配适用于 Office。无论如何,非常感谢!
-
那么您会接受
CBool()解决方案作为答案吗? -
是的!我觉得这应该是自动化的一种常见做法......
标签: vba vb6 photoshop ui-automation adobe-illustrator