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

我一直在研究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页上的内容。我需要一种允许用户选择页面2,页面3或目标图形在Visio文件中位于的页面的方法。目前,我正在考虑创建一个用户表单以允许选择页码,但是我愿意接受建议。

yanxianfeng_5188 回答:VB代码将Visio文档的特定页面放入Word

Mathieu Guindon的帖子将我引向了答案(本来可以将其投票作为答案,但这似乎不是一个选择)。无论如何,发布在Choose active page in Visio上的代码提供了我的解决方案的基础。为Visio.Application对象设置一个变量,并引用该变量以获取用户选择的Visio文件的页数(如果用户选择了文件中不可用的页码,则会捕获错误),并复制用户选择的页面。

本文链接:https://www.f2er.com/3121157.html

大家都在问