以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  word VBA  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185626)

--  作者:qaz17909
--  发布时间:2023/3/6 21:50:00
--  word VBA
 想用word VBA 插入一个指定列数的表格,然后一行一行输入foxtable中的数据,并且可以设置各个列的宽度,单元格的对齐方式,字体,行高自动,代码如何写?特殊原因不用excel

[此贴子已经被作者于2023/3/6 21:54:29编辑过]

--  作者:有点蓝
--  发布时间:2023/3/6 21:55:00
--  
参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=70762&skin=0


--  作者:qaz17909
--  发布时间:2023/3/7 10:25:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看
格式没有试出来,蓝版可否帮忙改下。
格式的几点要求:页边距可以设置,表格边框,标题行加粗,单元格内容垂直水平均居中,最后一列部们列合并单元格
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:wordvba.rar



--  作者:qaz17909
--  发布时间:2023/3/20 10:33:00
--  
 蓝版,我在标题后面插入一个表格,但是好像没有效果,可否麻烦帮忙看下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:wordvba.rar



--  作者:有点蓝
--  发布时间:2023/3/20 10:49:00
--  
测试没有问题呀,只是没有设置边框,不显示边框而已
--  作者:qaz17909
--  发布时间:2023/3/20 11:36:00
--  
 需要在“这是标题”四个后面另起一行,然后再插入表格
--  作者:有点蓝
--  发布时间:2023/3/20 12:00:00
--  
在添加表格前输入文字就行了

    app.Selection.TypeText(Text:="这是标题" & vbCrlf)
--  作者:qaz17909
--  发布时间:2023/3/20 13:40:00
--  
 如果要在第一个表格后再插入一段文字,然后继续插入第二个表格呢
Dim app As New MSWord.Application
Try
    Dim doc = app.Documents.add
    app.Selection.TypeText(Text:="这是标题" & vbCrlf)
    doc.Tables.Add(Range:=app.Selection.Range, NumRows:=2, NumColumns:= 3)
    app.Selection.Tables(1).Style = "网格型"
    app.Selection.TypeText(Text:="这是第二个表格" & vbCrlf)
    doc.Tables.Add(Range:=app.Selection.Range, NumRows:=2, NumColumns:= 3)
    app.Visible = True
Catch ex As exception
    msgbox(ex.message)
    app.Quit
End Try
这样写好像不行

--  作者:有点蓝
--  发布时间:2023/3/20 14:49:00
--  
Dim app As New MSWord.Application
Try
    Dim doc = app.Documents.add
    app.Selection.TypeText(Text:="这是标题" & vbCrlf)
    doc.Tables.Add(Range:=app.Selection.Range, NumRows:=2, NumColumns:= 3)
    app.Selection.Tables(1).Style = "网格型"
    Doc.Paragraphs.Last.Range.Text = "这是第二个表格"
    Doc.Paragraphs.Last.Range.select
    app.Selection.MoveRight()
    app.Selection.TypeText(vbCrlf)
    doc.Tables.Add(Range:=app.Selection.Range, NumRows:=2, NumColumns:= 3)
    app.Visible = True
Catch ex As exception
    msgbox(ex.message)
    app.Quit
End Try