xulinghai 发表于 2012-12-30 23:30:12

word插入表格后标题被覆盖问题[己解决]

本帖最后由 xulinghai 于 2012-12-31 12:42 编辑

如题,论坛也搜过,vba看不明白

怎样把光标移到第三行再插入表格呢?Const $ROWS = 10 ;表格行数
Const $COLUMNS = 6 ;表格列数

$objWord = ObjCreate("Word.Application")
$objWord.Visible = 1
$objDoc = $objWord.Documents.Add()

$objDoc.range.text = "表格标题" & @CRLF

$objRange = $objDoc.Range()
$objDoc.Tables.Add ($objRange, $ROWS, $COLUMNS)
$objTable = $objDoc.Tables(1)

$objTable.Cell(1, 1).Range.Text = "Name1"
$objTable.Cell(1, 2).Range.Text = "Name2"
$objTable.Cell(1, 3).Range.Text = "Name3"

annybaby 发表于 2012-12-31 01:01:26

回复 1# xulinghai

向它发送几个回车再插入

xulinghai 发表于 2012-12-31 11:24:55

$objDoc.range.text = "表格标题" & @CRLF
己有回车符,不起作用。

kevinch 发表于 2012-12-31 11:47:39

Const $ROWS = 10 ;表格行数
Const $COLUMNS = 6 ;表格列数

$objWord = ObjCreate("Word.Application")
$objWord.Visible = 1
$objDoc = $objWord.Documents.Add()

$objDoc.range.text = "表格标题" & @CRLF

$objRange = $objDoc.Range()
$objDoc.application.selection.endkey(6);移动到全文末尾
$objDoc.Tables.Add ($objRange.application.selection.range, $ROWS, $COLUMNS);注意插入的位置是当前的选区,如果用$objRange会覆盖原内容,结果标题就没有了
$objTable = $objDoc.Tables(1)

$objTable.Cell(1, 1).Range.Text = "Name1"
$objTable.Cell(1, 2).Range.Text = "Name2"
$objTable.Cell(1, 3).Range.Text = "Name3"这个试下

kevinch 发表于 2012-12-31 11:55:42

在任意位置移动到第三行用这个$objDoc.application.selection.goto(3,1,3)

xulinghai 发表于 2012-12-31 12:33:28

回复 4# kevinch

真是太感谢了,问题解决了,VBA不懂,要学的很多。
页: [1]
查看完整版本: word插入表格后标题被覆盖问题[己解决]