获取vsd文件中图形的的顶点坐标信息,但是调用curve.Point报类型不匹配

lzg823375476 2014-02-17 10:11:46
我想获取vsd文件中图形顶点的坐标信息,但是调用curve.point总报类型不匹配的错误,代码如下,哪位大神帮忙瞅瞅:
Option Explicit
Const visOpenRO = 2
Const visOpenMinimized = 16
Const visOpenHidden = 64
Const visOpenMacrosDisabled = 128
Const visOpenNoWorkspace = 256
Const visRasterFitToCustomSize = 3
Const visRasterPixel = 0
Dim fso,file,msg
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("C:/vbscript_analysize_vsd/1.txt",2)
Dim pathsStr
Sub export(filePath, widthInPixels, heightInPixels)
Dim visioApplication : Set visioApplication = CreateObject("Visio.Application")
visioApplication.Settings.SetRasterExportSize visRasterFitToCustomSize, widthInPixels, heightInPixels, visRasterPixel
visioApplication.Documents.OpenEx filePath, visOpenRO + visOpenMinimized + visOpenHidden + visOpenMacrosDisabled + visOpenNoWorkspace
Dim currentItemIndex
For currentItemIndex = 1 To visioApplication.ActiveDocument.Pages.Count
Dim currentItemU : Set currentItemU = visioApplication.ActiveDocument.Pages.ItemU(currentItemIndex)
ItemU_Example currentItemU
Next
visioApplication.Quit
End Sub
Sub ItemU_Example(itemU)
Dim intCounter
Dim intShapeCount
Dim vsoShapes
Dim shape
Set vsoShapes = itemU.Shapes
intShapeCount = vsoShapes.Count
If intShapeCount > 0 Then
For Each shape In vsoShapes
showShapeMsg(shape)
Next
Else
MsgBox " No Shapes On Page"
End If
End Sub
Sub showShapeMsg(shape)
file.WriteLine("-----------shape "+Cstr(shape.ID)+"----------")
file.WriteLine("ID : "+Cstr(shape.ID))
'file.WriteLine("ClassID : "+Cstr(shape.ClassID))
file.WriteLine("NameID : "+Cstr(shape.NameID))
file.WriteLine("Type : "+Cstr(shape.Type))
file.WriteLine("name : "+Cstr(shape.Name))
getpahts shape,pathsStr
file.WriteLine("paths : "+pathsStr)
file.WriteLine("locpaths: ")
file.WriteLine("Text : "+Cstr(shape.Text))
End Sub
Sub getpahts(shape,pathsStr)
pathsStr = ""
Dim path
Dim point
Dim curve
Dim x,y
file.WriteLine("typeName"+TypeName(x))
for each path in shape.Paths
for each curve in path
curve.Point CDbl(0),x,y
pathsStr = pathsStr + " x:"+x+",y:"+y
next
next
end sub
export "C:/vbscript_analysize_vsd/1.vsd", 200, 200
file.Close
Set file = Nothing
Set fso = Nothing
...全文
654 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,008

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧