以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- word如何设置表格列宽和替换字符串 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193295) |
-- 作者:lxhmax -- 发布时间:2024/9/2 16:39:00 -- word如何设置表格列宽和替换字符串 Dim doc = app.Documents.Open(fl) \' 在文档末尾插入一个 2 行 3 列 的表格 Dim tbl = doc.Tables.Add(doc.Range(doc.Content.End), 2, 8) \' 填充表格单元格 tbl.Cell(1, 1).Range.Text = "序号" tbl.Cell(1, 2).Range.Text = "区域" tbl.Cell(1, 8).Range.Text = "备注" \' 设置表格第一行的字体加粗 tbl.Rows(1).Range.Font.Bold = True Dim i As Integer For i = 1 To tbl.Rows(1).Cells.Count tbl.Rows(1).Cells(i).Shading.BackgroundPatternColor = RGB(189, 214, 238) \' 浅灰色 (Light Gray) Next i \' 设置列宽及行高 \' 替换指定字符串 doc.save app.Visible = True app.quit
[此贴子已经被作者于2024/9/2 16:41:43编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/9/2 16:45:00 -- 列宽: tbl.Columns(2).Width = 100f 替换参考: doc.Content.Find.Execute(FindText:="查找的文字", replacewith:="替换的文字", Replace:=2)
|
-- 作者:lxhmax -- 发布时间:2024/9/2 16:55:00 -- 老师,这个列宽的有问题,报错了未指定的错误 (异常来自 HRESULT:0x80004005 (E_FAIL)) 还有行高怎么设置 |
-- 作者:有点蓝 -- 发布时间:2024/9/2 17:34:00 -- 我测试没有问题 Dim app As New MSWord.Application Try Dim doc = app.Documents.add doc.Tables.Add(Range:=app.Selection.Range, NumRows:=3, NumColumns:= 3) With app.Selection.Tables(1) .Rows(1).Height = 100 \'行高 .Columns(2).Width = 50 End With app.Visible = True Catch ex As exception msgbox(ex.message) app.Quit Finally End Try |
-- 作者:lxhmax -- 发布时间:2024/9/2 17:59:00 -- FileSys.CopyFile(mb, fl,True) \'ShowAppWindow("wps",5) Dim app As New MSWord.Application Try Dim doc = app.Documents.Open(fl) Dim tbl = doc.Tables.Add(Range:=app.Selection.Range, NumRows:=3, NumColumns:= 8) \'设置边框样式 \' 设置表格边框样式 With tbl.Borders .OutsideLineStyle = wdLineStyleSingle \' 设置外边框为单线 .OutsideLineWidth = wdLineWidth050pt \' 设置外边框宽度为 0.5 磅 .OutsideColor = RGB(0, 0, 0) \' 设置外边框颜色为黑色 .InsideLineStyle = wdLineStyleSingle \' 设置内边框为单线 .InsideLineWidth = wdLineWidth025pt \' 设置内边框宽度为 0.25 磅 .InsideColor = RGB(0, 0, 0) \' 设置内边框颜色为黑色 End With \' 设置表格第一行的字体加粗 tbl.Rows(1).Range.Font.Bold = True Dim i As Integer For i = 1 To tbl.Rows(1).Cells.Count tbl.Rows(1).Cells(i).Shading.BackgroundPatternColor = RGB(189, 214, 238) \' 浅灰色 (Light Gray) Next i \' 填充表格单元格 tbl.Columns(1).Width = 50 : tbl.Cell(1, 1).Range.Text = "序号" tbl.Columns(2).Width = 50 : tbl.Cell(1, 2).Range.Text = "区域" \'替换指定字符串 doc.Content.Find.Execute(FindText:="序号", replacewith:="替换的文字", Replace:=2) \'打开文件 app.Visible = True doc.save Catch ex As exception Output.Show(ex.message) app.Quit Finally End Try GC.Collect() Output.Show(Date.Now & "结束执行") \'Return msg
老师,标红的两个都会报错 |
-- 作者:有点蓝 -- 发布时间:2024/9/2 19:33:00 -- 帮助以外的东西学会百度:https://learn.microsoft.com/zh-cn/office/vba/api/word.wdlinestyle .OutsideLineStyle = MSWord.WdLineStyle.wdLineStyleSingle |