使用代码将VBA项目添加到Visio文档
我被要求创建一个宏来更新几百个左右的Visio绘图,并保持它们的更新 更新包括将特定类型的所有对象放在它们自己的图层上-简单 现在,这很容易做到,但当用户在将来某个时候添加新对象时,它很可能位于默认层上。因此,我希望能够包含一个VBA宏,该宏由“保存”事件触发,以将对象重新指定给其图层。 这里的问题是,我需要在每个文档中包含此宏,因为Visio没有应用程序级VBA项目使用代码将VBA项目添加到Visio文档,vba,visio,Vba,Visio,我被要求创建一个宏来更新几百个左右的Visio绘图,并保持它们的更新 更新包括将特定类型的所有对象放在它们自己的图层上-简单 现在,这很容易做到,但当用户在将来某个时候添加新对象时,它很可能位于默认层上。因此,我希望能够包含一个VBA宏,该宏由“保存”事件触发,以将对象重新指定给其图层。 这里的问题是,我需要在每个文档中包含此宏,因为Visio没有应用程序级VBA项目 是否有任何方法可以使用代码(VBA或其他)将VBA项目引入所有Visio文档??或者有没有我可能没有考虑过的替代方案?不幸的是,
是否有任何方法可以使用代码(VBA或其他)将VBA项目引入所有Visio文档??或者有没有我可能没有考虑过的替代方案?不幸的是,由于可用的资源,外接程序不是一个真正的选项。这里有几个选项:
第1项是最简单的,除了通过编程访问VBA项目的痛苦之外,除非您可以让他人向您发送文档进行迁移。非常感谢您的回复。访问所有文件不是问题,我们使用的是文件存储系统。您有关于获取VBA项目的编程访问权限的更多信息吗?我没能找到任何有用的东西。我想我已经想出了你的第二个建议,这看起来似乎是合理的,尽管如果任何文件中存在VBA项目,我都会遇到问题,但我认为情况并非如此。选项3很聪明!我从来没有想过,但你是对的,没有其他的事情可以考虑。再次感谢你的帮助!在您的计算机上设置编程VBA访问非常容易…只需转到Visio信任中心(工具->宏->VisioOptions中的安全->信任中心->信任中心设置,并切换到“VBA项目对象模型的信任访问”哦,这我很理解。我的问题是如何将VBA代码复制到其他文档中?您的第二个和第三个选项解决了这一问题,但如果我可以将VBA项目从一个文件复制到另一个文件,那就太好了但VBA项目对象似乎是从VBA本身中读取的……对于#3,您不必复制任何VBA代码,但如果使用#1,则只需编写一些不太复杂的代码即可。而且似乎是非常好的入门