对于自选图形可以使用文档的Shape对象获取其位置信息(线条不能位置绘图区内:XP或更高版本的概念) 示例如下: for i:=1 to appWord.ActiveDocument.Shapes.Count do if appWord.ActiveDocument.Shapes.item(i).type_=msoAutoShape then begin //if appWord.ActiveDocment.Shapes.item(i).AutoShapeType = msoShapeLineCallout1 //判断自选图形的类型 1mm=2.835磅 iLineX := appWord.ActiveDocument.Shapes.item(i).Left;//n磅 iLineY := appWord.ActiveDocument.Shapes.item(i).Top;//n磅
end;
end;
TO :ymxxm(ymxxm) 先对你的关注表示感谢,其次我调试的结果是: if appWord.ActiveDocument.Shapes.item(i).type_=msoAutoShape then 其中i是 必须提示为 olevariant, 我这里定义了个整形的,应该我是搞错了吧。 其次:提示msoAutoShape 没有定义。
示例如下:
for i:=1 to appWord.ActiveDocument.Shapes.Count do
if appWord.ActiveDocument.Shapes.item(i).type_=msoAutoShape then
begin
//if appWord.ActiveDocment.Shapes.item(i).AutoShapeType = msoShapeLineCallout1
//判断自选图形的类型 1mm=2.835磅
iLineX := appWord.ActiveDocument.Shapes.item(i).Left;//n磅
iLineY := appWord.ActiveDocument.Shapes.item(i).Top;//n磅
end;
end;
先对你的关注表示感谢,其次我调试的结果是:
if appWord.ActiveDocument.Shapes.item(i).type_=msoAutoShape then
其中i是 必须提示为 olevariant, 我这里定义了个整形的,应该我是搞错了吧。
其次:提示msoAutoShape 没有定义。
应该是返回一条曲线中的一个节点的坐标,这里返回类型为:olevariant,怎样可以得到我想要的point类型呢?
我获取的线段位置基本正确,但是有些文件读出之后,重画效果和原word效果不一样(面目皆非)。我认为原因是,图形(主要是线)和文字之间的环绕关系,导致读出的位置有影响。
那位大侠帮我解决了,我立刻给分。对了,友情灌水也有分。。
分很宝贵啊,却没有知识值钱, 比起您解答问题的壮举没有什么比这更伟大的。我鼓掌先。