autoit调用word
http://www.mybat.cn/forum.php?mod=viewthread&tid=4546&extra=page%3D1自AU3将WORD应用纳入之后,国内的AU3朋友们在这方面研究很少!今天放几个小脚本供参考。
#include <array.au3>
#include <Word.au3>
Const $msoPatternDarkDownwardDiagonal = 15
Const $msoShapeRectangle = 1
Const $msoGradientHorizontal = 1
_WordErrorHandlerRegister()
$oWordApp = _WordCreate()
$oDocActive = _WordDocGetCollection($oWordApp, 0);;画一条红直线
_WordDocLine($oDocActive, 510, 50, 90, 50, 1.5, 255)
Func _WordDocLine($o_DocActive, $s_Left, $s_left_H, $s_Line, $s__right_H, $s_Weight, $s_Color)
With $o_DocActive.Shapes.AddLine($s_Left, $s_left_H, $s_Line, $s__right_H).Line
.Weight = $s_Weight
.ForeColor.RGB = $s_Color
;.BackColor.RGB = 128
EndWith
EndFunc ;==>_WordDocLine
;;;下面示例为活动文档添加图案线条。
With $oDocActive.Shapes.AddLine(200, 80, 350, 80).Line
.Weight = 8
.ForeColor.RGB = 255
.BackColor.RGB = 128;;;线条的背景色
.Pattern = $msoPatternDarkDownwardDiagonal;;;加图案
EndWith
;;;下面示例为活动的文档添加一条线段。直线的起点有一个短且窄的椭圆,终点有一个长且宽的三角形。
Const $msoArrowheadShort = 1
Const $msoArrowheadOval = 6
Const $msoArrowheadNarrow = 1
Const $msoArrowheadLong = 3
Const $msoArrowheadTriangle = 2
Const $msoArrowheadWide = 3
With $oDocActive.Shapes.AddLine(100, 200, 200, 300).Line
.BeginArrowheadLength = $msoArrowheadShort
.BeginArrowheadStyle = $msoArrowheadOval
.BeginArrowheadWidth = $msoArrowheadNarrow
.EndArrowheadLength = $msoArrowheadLong
.EndArrowheadStyle = $msoArrowheadTriangle
.EndArrowheadWidth = $msoArrowheadWide
EndWith
;;;下面示例将一个具有五个顶点的任意多边形添加至活动文档中。
Const $msoSegmentCurve = 1
Const $msoEditingCorner = 1
Const $msoEditingAuto = 0
Const $msoSegmentLine = 0
With $oDocActive.Shapes.BuildFreeform($msoEditingCorner, 360, 200)
.AddNodes($msoSegmentCurve, $msoEditingCorner, 380, 230, 400, 250, 450, 300)
.AddNodes($msoSegmentCurve, $msoEditingAuto, 480, 200)
.AddNodes($msoSegmentLine, $msoEditingAuto, 480, 400)
.AddNodes($msoSegmentLine, $msoEditingAuto, 360, 200)
.ConvertToShape
EndWith
;;;下面例在当前文档中添加一个标注,然后设置标注的角度。
#cs
在文档中添加画布。返回代表该画布的 Shape 对象,并将其添加到 Shapes 集合。
.AddCanvas(Left, Top, Width, Height, Anchor)
LeftSingle 类型, 必需。画布左侧边缘相对于锁定标记的位置,以磅为单位。
TopSingle 类型, 必需。画布上部边缘相对于锁定标记的位置,以磅为单位。
WidthSingle 类型, 必需。画布的宽度,以磅为单位。
HeightSingle 类型, 必需。画布的高度,以磅为单位。
AnchorVariant 类型,可选。代表画布绑定文本的 Range 对象。
如果指定 Anchor,则锁定标记将出现在锁定区域第一段的开头。
如果省略该参数,将自动选定锁定区域,而画布将相对于页面的上部和左侧边缘进行定位。
#ce
;示例
Const $msoCalloutTwo = 2
Const $msoCalloutAngle30 = 2
_WordDocNewCallout($oDocActive)
Func _WordDocNewCallout($o_DocActive)
With $o_DocActive.Shapes.AddCallout($msoCalloutTwo, 250, 180, 100, 80)
.TextFrame.TextRange.Text = "在当前文档中添加一个标注."
.Callout.Angle = $msoCalloutAngle30
EndWith
EndFunc ;==>_WordDocNewCallout
;;;下列示例在新文档中添加画布,然后在画布上添加两个图形,并设置填充和线条属性。
Const $wdWrapInline = 7
Const $msoShapeHeart = 21
_WordDocAddInlineCanvas($oDocActive)
Func _WordDocAddInlineCanvas($o_DocActive)
$shpCanvas = $o_DocActive.Shapes.AddCanvas(150, 150, 70, 70)
$shpCanvas.WrapFormat.Type = $wdWrapInline
With $shpCanvas.CanvasItems
.AddShape($msoShapeHeart, 10, 10, 50, 60)
.AddLine(0, 0, 70, 70)
EndWith
With $shpCanvas
.CanvasItems(1).Fill.ForeColor = 255
.CanvasItems(2).Line.EndArrowheadStyle = $msoArrowheadTriangle
EndWith
EndFunc ;==>_WordDocAddInlineCanvas
;;;下列示例实现的功能是:将两个图形添至 myDocument,并组合这两个新图形,设置图形组合的填充格式,旋转此组合并将其置于绘图层的下面。
Const $msoShapeCan = 13
Const $msoShapeCube = 14
Const $msoTextureBlueTissuePaper = 17 ;(&H11)
Const $msoSendToBack = 1
$oDocActive.Shapes.AddShape($msoShapeCan, 150, 350, 100, 200).Name = "shpOne"
$oDocActive.Shapes.AddShape($msoShapeCube, 150, 550, 100, 200).Name = "shpTwo"
With $oDocActive.Shapes.Range(_ArrayCreate("shpOne", "shpTwo") ).Group
.Fill.PresetTextured($msoTextureBlueTissuePaper)
.Rotation = 45
.ZOrder($msoSendToBack)
EndWith
;;;下列示例将一个用绿色大理石纹理填充的矩形添至活动文档中。
Const $msoTextureGreenMarble = 9
$oDocActive.Shapes.AddShape($msoShapeCan, 490, 490, 40, 80).Fill.PresetTextured($msoTextureGreenMarble)
;;;下列示例将包含文本“Test”的“艺术字”添加到活动文档中,并将文字由横排(指定“艺术字”样式的默认值,即 msoTextEffect1)转换为纵排。
Const $msoTextEffect1 = 0
$newWordArt = $oDocActive.Shapes.AddTextEffect($msoTextEffect1, "Test", "Arial Black", 36, False, False, 350, 100)
$newWordArt.TextEffect.ToggleVerticalText
;;;下列示例向活动文档添加三个三角形,并加以组合,为整个组合设置一个颜色,然后只更改第二个三角形的颜色。
Const $msoShapeIsoscelesTriangle = 7
;Const $msoTextureBlueTissuePaper = 17 ;(&H11)
;Const $msoTextureGreenMarble = 9
$oDocActive.Shapes.AddShape($msoShapeIsoscelesTriangle, _
100, 600, 100, 100).Name = "shpOne"
$oDocActive.Shapes.AddShape($msoShapeIsoscelesTriangle, _
240, 600, 100, 100).Name = "shpTwo"
$oDocActive.Shapes.AddShape($msoShapeIsoscelesTriangle, _
390, 600, 100, 100).Name = "shpThree"
With $oDocActive.Shapes.Range(_ArrayCreate("shpOne", "shpTwo", "shpThree") ).Group
.Fill.PresetTextured($msoTextureBlueTissuePaper)
.GroupItems(2).Fill.PresetTextured($msoTextureGreenMarble)
EndWith
;;;本示例向活动文档添加两个十字形形状,并为每一个十字形设置第一种调整值(对于此类“自选图形”,该调整方式是唯一的)。
Const $msoShapeCross = 11
With $oDocActive.Shapes
.AddShape($msoShapeCross, _
10, 10, 100, 100).Adjustments.Item(1) = 0.4
.AddShape($msoShapeCross, _
150, 10, 100, 100).Adjustments.Item(1) = 0.2
EndWith
#cs
;;;向活动文档中添加一个矩形,然后设置矩形填充的前景色、背景色和过渡。
.AddShape(Type, Left, Top, Width, Height, Anchor)
expression 必需。该表达式返回一个 Shapes 对象。
TypeLong 类型, 必需。要返回的图形类型。可以是任何 MsoAutoShapeType 常量。
LeftSingle 类型, 必需。“自选图形”对象左侧边缘的位置,以磅为单位。
TopSingle 类型, 必需。“自选图形”对象上部边缘的位置,以磅为单位。
WidthSingle 类型,必需。“自选图形”对象的宽度,以磅为单位。
HeightSingle 类型, 必需。“自选图形”对象的高度,以磅为单位。
AnchorVariant 类型,可选。代表该“自选图形”所连接文本的 Range 对象。
如果指定 Anchor,则锁定标记位于锁定区域第一段的起始位置。
如果忽略该参数,则 Word 将自动选定锁定区域,
而自选图形将相对于页面的上部和左侧边缘进行定位。
#ce
_WordDocRectangle($oDocActive);向活动文档中添加一个矩形,
Func _WordDocRectangle($o_DocActive)
With $o_DocActive.Shapes.AddShape($msoShapeRectangle, 250, 120, 90, 50).Fill
.ForeColor.RGB = 128
.BackColor.RGB = 170
.TwoColorGradient($msoGradientHorizontal, 1)
EndWith
EndFunc ;==>_WordDocRectangle 有时候我在想,调东西应该不是太难的,实际上不是那样的 回复 1# clshuai
上面的连接地址无法登陆? 坐下慢慢看 坐下慢慢看 留脚印备用 看看怎么样 先占个位置 慢慢消化 回复 1# clshuai
不错。
就是在那里去找那些点后面的“方法”??
如:With $shpCanvas.CanvasItems
.AddShape($msoShapeHeart, 10, 10, 50, 60)
.AddLine(0, 0, 70, 70)
EndWith
我怎么知道有“AddShape”, “AddLine”这样的方法?更别它的参数了?
如我要插入一个图片文件,应该怎么写? 回复 1# clshuai
太好了,感谢LZ分享。比那些动不动就要钱的好太多了。再一次谢谢 打酱油的,混点分数提高下等级,谁然我是路过,但是也不是水帖子
Dragon Nest Gold,vindictus gold,swg credits,silkroad gold,NosTale Gold,Knight Noah,Eden Eternal gold, Elsword ED,tibia gold,shaiya gold,rs2 gold,rohan gold,RIFT Platinum,RIFT Plat,RIFT Gold,rappelz gold,rappelz rupees,perfect world gold,pw gold,Metin2 Yang,Metin2 Gold,maplestory mesos,mabinogi gold,lineage 2 adena,guild wars gold,ffxiv gil,ffxi gil,2moons dil, 4story money, 4story Luna, 4Story Gold, 9Dragons gold, Aion Kinah, Buy Aion Kinah, Buy Aion Gold, apb gold, Cabal Alz, Cabal Gold, dfo gold, dofus kamas, EVE ISK, eq2 plat, 例子不错,有抛砖引玉的效果 顶下楼主,谢谢分享 好好学习一下! 收藏,能否举个应用例子?
页:
[1]
2