Foxtable(狐表)用户栏目专家坐堂 → 如何在word增加的行中输入对应的内容


  共有3328人关注过本帖树形打印复制链接

主题:如何在word增加的行中输入对应的内容

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/6 14:59:00 [显示全部帖子]

参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=76027

word的用法比较特殊,不是按单元格赋值的,需要模拟手工输入,比如app.Selection.TypeText

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/6 15:17:00 [显示全部帖子]

dim ss() as string = {"第一列",第二列"",...} 
   For Each dr As DataRow In dt.DataRows
        For Each s As string In ss
            app.Selection.TypeText(Text:=dr(s))
            app.Selection.MoveRight(Unit:=12)
        Next
    Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/6 15:48:00 [显示全部帖子]

选中第二个表格,然后在输入即可

doc.Tables(2).select
dim ss() as string = {"第一列",第二列"",...} 
   For Each dr As DataRow In dt.DataRows
[此贴子已经被作者于2023/9/6 15:48:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/7 14:38:00 [显示全部帖子]

搞错了。可以按单元格赋值

Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open("D:\Users\Administrator\Desktop\123.docx")
    Dim dt As DataTable = DataTables("表A")
    
    
    For Each r As DataRow In dt.DataRows
        Dim newRow As object = doc.Content.Tables(2).Rows.Add()
        newRow.Cells(1).Range.Text = r("第一列")
        newRow.Cells(2).Range.Text = r("第二列")
        newRow.Cells(3).Range.Text = r("第三列")
    Next
    
    app.Visible = True
catch ex As exception
    msgbox(ex.message)
    app.Quit
End try

 回到顶部