在Visio

时间:2015-06-04 14:41:28

标签: excel excel-vba visio vba

编辑:我没有说出这个意思..我正在尝试打开Visio(工作),然后在我选择的文档中打开一个页面。感谢

Dim FName As String
Dim VsApp As Object

On Error Resume Next
Set VsApp = GetObject(, "Visio.Application")
If VsApp Is Nothing Then
Set VsApp = CreateObject("Visio.Application")
If VsApp Is Nothing Then
MsgBox "Can't connect to Visio"
Exit Sub
End If
End If
On Error GoTo 0

FName = "C:\myfile.vsd"

If Not Intersect(Target, Range("c2")) Is Nothing Then
VsApp.Documents.Open FName
VsAppPage = "mypage"
Cancel = True
ElseIf Not Intersect(Target, Range("c4")) Is Nothing Then
VsApp.Documents.Open FName
vsPage = "mypage2"
VsApp.ActivePage = vsPage
Cancel = True
End if

但这是尝试重命名活动页面的代码。我希望它用引号选择页面名称。

1 个答案:

答案 0 :(得分:3)

尝试:

VsApp.ActiveWindow.Page = vsPage

如果不起作用,请尝试:

VsApp.ActiveWindow.Page = VsApp.Documents.Open(FName).Pages(vsPage)