llww7779 发表于 2013-1-16 09:45:12

word中如何添加域[已解决]

本帖最后由 llww7779 于 2013-1-17 09:49 编辑

问题如上,
                $oDoc.Tables($i).Cell($j, 1).Range.Text = ""
                $oDoc.Tables($i).Cell($j, 1).Range.Select
                $oDoc.application.Selection.TypeText("本资料清单第")

                $oDoc.application.Fields.Add($oWordApp.ActiveDocument.Selection.Range,"wdFieldEmpty","PAGE",True)
                ;上边这句无法执行
                $oDoc.application.Selection.TypeText("页共")

                $oDoc.parent.application.Selection.Fields.Add($oDoc.Selection.Range,"wdFieldEmpty","NUMPAGES   ",True)
                ;上边这句也无法执行
               
                $oDoc.application.Selection.TypeText ( "页")

llww7779 发表于 2013-1-16 11:14:55

顶一顶!!!

kevinch 发表于 2013-1-16 12:12:27

$word=ObjCreate("word.application")
$word.visible=True
$doc=$word.documents.add
$doc.range.text="test "&@CRLF&"OK"
$word.application.selection.fields.add($doc.range(5,5),31,'DATE \@ "ddd,MMM d"')小例子,插入域的时候要指定对应的参数,包括域位置及类型

kevinch 发表于 2013-1-16 12:55:52

上传一份域应用的相关资料供参考

llww7779 发表于 2013-1-16 13:12:18

谢谢!非常感谢!

llww7779 发表于 2013-1-17 09:37:51

终于弄好了,单元格定位真是不容易啊!
$oDoc.Tables($i).Cell($j, 1).Range.Text = ""
                $oDoc.Tables($i).Cell($j, 1).Range.Select
               
                $oDoc.application.Selection.TypeText("本资料清单第")
                $myRange = $oDoc.Tables($i).Cell($j, 1).Range
                $myRange.SetRange($myRange.End - 1, $myRange.End - 1)
   
               
                $oWordApp.application.Selection.Fields.Add($myRange,33,"PAGE",True)
               
                $oDoc.application.Selection.TypeText("页共")
               
                $myRange = $oDoc.Tables($i).Cell($j, 1).Range
                $myRange.SetRange($myRange.End - 1, $myRange.End - 1)
                $oWordApp.application.Selection.Fields.Add($myRange,26,"NUMPAGES   ",True)
               
                $oDoc.application.Selection.TypeText ( "页")

llww7779 发表于 2013-1-17 09:42:29

$myRange.SetRange($myRange.End - 1, $myRange.End - 1)中 $myRange.End - 1是为了去掉表格的制表符,也就是横线或竖线占位,虽然只有1个字节,但是无法输入啊!
页: [1]
查看完整版本: word中如何添加域[已解决]