使用VBA自动执行Adobe Illustrator CS3时,我发现将Boolean变量分配给Boolean属性会导致始终分配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产品中很常见。
这是错误还是功能?
最佳答案
用v
function包裹CBool()
变量。