首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用代码将VBA项目添加到Visio文档中

使用代码将VBA项目添加到Visio文档中
EN

Stack Overflow用户
提问于 2014-04-14 17:08:13
回答 1查看 692关注 0票数 0

我被要求创建一个宏来更新几百个左右的Visio绘图,并不断更新它们。

更新包括将特定类型的所有对象放置在自己的层上--简单。

现在,这是很容易做到的,但是当用户在将来的某个时候添加一个新的对象时,它很可能在默认层上。因此,我希望能够包括一个由Save事件触发的VBA宏,以便将对象重新分配到它们的层。这里的问题是,由于Visio没有应用程序级别的VBA项目,所以我需要在每个文档中包含这个宏。

是否有任何方法使用代码(VBA或其他)向所有Visio文档介绍VBA项目?还是我可能没有考虑过另一种选择?不幸的是,由于可用的资源,外接程序实际上不是一个选项。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-15 03:36:17

你在这里有几个选择:

  1. 强制每个用户为他们的文档允许对VBA项目的编程访问,并使用VBA自动化来添加代码。当您有编程访问权限时,这会很好地工作,但这很难保证。
  2. 如果不使用Visio 2013,则实际上可以将文档保存为VDX (xml),并将VBA项目的数据替换为自己的数据(手动将文档保存为VDX,并复制VBA项目的数据块)。正如我说过的,这不适用于Visio 2013,因为他们似乎已经消除了VDX格式。对于2013年,您可能可以使用类似于VSDX格式的东西。
  3. 您可以将每个人的文档“迁移”到您提供的新的VST文件。这只需将文档中的所有内容复制并粘贴到包含您的代码的新文档中。但是,您必须小心,以确保所有文档和页面级别的数据都会出现(这意味着DocumentSheet和PageSheet以及任何可能重要的文档XML属性,以及诸如Author、Description等属性)。

除了编程访问VBA项目之外,第1项是最简单的,除非您可以让人们发送文档进行迁移。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23072971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档