使用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.StrokedLayer.Visible等。

已验证Photoshop.ArtLayer.Visible

已通过VB6验证。

因此,我认为这种行为在Adobe Adob​​e Creative Suite产品中很常见。

这是错误还是功能?

最佳答案

v function包裹CBool()变量。

09-25 18:38