gpt4 book ai didi

vba - Visio 形状 ID 溢出

转载 作者:行者123 更新时间:2023-12-03 21:38:13 32 4
gpt4 key购买 nike

Visio Page 对象的 SetFormulas 和 GetResults 方法需要一个包含 ShapeID、Section、Row、Column 的数组,以便从/向 shapesheet 批量读取/写入。

但是,我发现在有很多形状的绘图中,添加和删除形状后,Visio 的形状 ID 超过了 32768 的短整数限制。似乎 Visio 在名为 ID16 的形状上保留了一个短整数 ID 属性,但将 ID16 传递给ShapeID,Section,Row,Column 数组似乎不起作用,并引发“意外的文件结尾”错误。

是否有可能以某种方式在形状 ID 超过短整数限制的图形上使用 SetFormulas 和 GetResults 方法?或者有没有办法在绘图中“重新堆叠”形状 ID,只要页面中的形状少于 32768,那么所有 ID 都会低于限制?我知道将所有形状复制到新绘图中会花费一些时间,但是在从页面添加/删除形状后问题可能会很快再次出现,我的软件经常这样做。

我能想到的唯一其他替代方法是捕获形状 ID 超过短整数限制的情况,并恢复到逐个单元和逐个形状进行操作的例程,而不是在单个批次中。

最佳答案

我担心没有解决方案,Microsoft 需要创建 SetResults/GetResults/SetFormulas/Getformulas/DropMany 的 Int32 版本。
随着 PC 的速度越来越快,创建巨大的 Visio 图表变得更加容易。
将图表重新渲染到新页面确实有助于赢得一些时间,但是 16 位形状 ID(实际上是 15 位限制)在 2021 年有点愚蠢!

关于vba - Visio 形状 ID 溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32343840/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com