【发布时间】:2020-03-07 14:16:33
【问题描述】:
我一直在研究一个 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 文件中目标绘图所在的任何页面。目前,我正在考虑创建一个用户表单以允许选择页码,但我愿意接受建议。
【问题讨论】:
-
如果您需要操作Visio 文档,那么您需要使用Visio 的对象模型。 Visio 文档对象引用位于
myViz.OLEFormat.Object。