用于将Visio文档的特定页面放入Word的VB代码



我一直在开发一个Word宏,该宏包括一个允许用户选择Visio文件并将其插入活动Word文档的步骤。由于许多源Visio文件都是多页的,并且要放置在Word中的特定Visio绘图可以在Visio文档的任何页面上,因此我需要一种允许用户选择要放置的页面的方法。

目前,我的VBA代码使用Appplication.FileDialog(msoFileDialogFilePicker(为Visio绘图的文件路径(myVisioPath(设置一个变量,然后为Visio文件创建一个变量并将其插入Word文档,如下所示:

Dim myViz As InlineShape
Set myViz = ActiveDocument.InlineShapes.AddOLEObject(ClassType:="Visio.Drawing.15", FileName:=myVisioPath, LinkToFile:=False, DisplayAsIcon:=False, Range:=Selection.Range)
myViz.Select `Selects the Visio for subsequent actions`

宏的当前工作版本选择所选Visio文件第1页上的内容。我需要一种方法,允许用户选择Visio文件中的第2页、第3页或目标绘图所在的任何页面。目前,我正在考虑创建一个允许选择页码的用户表单,但我愿意接受建议。

Mathieu Guindon的帖子让我找到了答案(本可以投票作为答案,但这似乎不是一个选项(。无论如何,Visio中"选择活动页面"上发布的代码为我的解决方案提供了基础。为Visio.Application对象设置一个变量并引用该变量以获取用户选择的Visio文件的页数(如果用户选择了文件中不可用的页码,则用于错误补漏白(,并复制用户选择的页面。

相关内容

最新更新