我在Visio 2016中创建了自定义颜色集,但无法从宏访问它。即使是下面录制的宏也会出错:
运行时错误’-2032465751(86db08a9)’:无效的参数。调试器……
据我所知,你不能直接使用api自定义颜色集,所以你必须直接下来并直接寻址相关的单元格。
创建自定义颜色集时,Visio会创建一个单独的(隐藏)主控以存储RGB。这个主人被分配了一个GUID,你必须在里面使用它 USE 功能在 ColorSchemeIndex 细胞。
USE
ColorSchemeIndex
因此,在您的代码中,如果您想要更改的唯一内容是颜色单元格,那么您可以这样做:
ActivePage.PageSheet.CellsU("ColorSchemeIndex").FormulaU = "=USE({007C1AB0-0002-0000-8E40-00608CF305B2})*0+65535"
... GUID是对主人的引用。
要首先获取GUID,只需将自定义颜色集应用于页面,然后检查 ColorSchemeIndex 单元格公式,或者,您可以遍历文档中的母版并报告.UniqueID属性,如下所述: http://visualsignals.typepad.co.uk/vislog/2013/10/customizing-themes-in-visio-2013.html