The line:
.Shape("Sheet.1").XYToPage 0, 0, X, Y
should be:
.Shapes("Sheet.1").XYToPage 0, 0, X, Y
Technology Tips and News
The line:
.Shape("Sheet.1").XYToPage 0, 0, X, Y
should be:
.Shapes("Sheet.1").XYToPage 0, 0, X, Y
Hello, there is a code on VBS which opens the "shem.vsd" file, opens a certain sheet
"list-2" and it is necessary that showed "sheet.1" figure. While the code reaches a line #22
".Shape ("Sheet.1") of.XYToPage 0, 0, X, Y" with an error "Object doesn't maintain this property or a method: 'Shape'"
P.S. Visio of 2010 Premiums, Windows 7 x86
Dim oFSO, vsApp, sFile Dim X, Y sFile = "C:\Temp\shem.vsd" Set oFSO = CreateObject("Scripting.FileSystemObject") Set WshShell = CreateObject("WScript.Shell") If Not oFSO.FileExists(sFile) Then MsgBox "FILE NOT FOUND", 48, "ERROR" End If On Error Resume Next Set vsApp = GetObject(, "Visio.Application") If vsApp Is Nothing Then Set vsApp = WScript.CreateObject("Visio.Application") With vsApp On error goto 0 .Visible = True WshShell.AppActivate "Microsoft Visio" With .Application .Documents.OpenEx "C:\Temp\shem.vsd", 32 .ActiveWindow.Page = .ActiveDocument.Pages("list-2") End With With .ActiveDocument.Pages("list-2") vsApp.Application.ActiveWindow.Zoom = 1 .Shapes("Sheet.1").XYToPage 0, 0, X, Y End With With .ActiveWindow .ScrollViewTo X, Y .Select .Page.Shapes("Sheet.1"), 2 End With End With Set oFSO = Nothing
Such question, whether it is possible to show a certain figure (which already is in the file on a certain leaf) means of VBS? Because through a macro everything perfectly turns out, the script which can start third-party application is necessary. Thanks in advance
The line:
.Shape("Sheet.1").XYToPage 0, 0, X, Yshould be:
.Shapes("Sheet.1").XYToPage 0, 0, X, Y