找回密码
 加入
搜索
查看: 5086|回复: 5

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

  [复制链接]
发表于 2012-12-30 23:30:12 | 显示全部楼层 |阅读模式
本帖最后由 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"
发表于 2012-12-31 01:01:26 | 显示全部楼层
回复 1# xulinghai

向它发送几个回车再插入
 楼主| 发表于 2012-12-31 11:24:55 | 显示全部楼层
$objDoc.range.text = "表格标题" & @CRLF
己有回车符,不起作用。
发表于 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"
这个试下
发表于 2012-12-31 11:55:42 | 显示全部楼层
在任意位置移动到第三行用这个
$objDoc.application.selection.goto(3,1,3)
 楼主| 发表于 2012-12-31 12:33:28 | 显示全部楼层
回复 4# kevinch

真是太感谢了,问题解决了,VBA不懂,要学的很多。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-27 01:09 , Processed in 0.084321 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表