首页 > 其他分享 >word vba 操作表格

word vba 操作表格

时间:2022-12-28 13:31:10浏览次数:38  
标签:Tables vba word Sub 表格 Range ActiveDocument End

本文介绍word vba操作表格的 格式化、对齐方式、自动调整、分布行、分布列功能。

一、格式化

Sub 设置表格()
  Dim t As Table
  For Each t In ActiveDocument.Tables
  '表格的格式化
    t.Select
    Selection.ClearFormatting
    t.Style = "普通表格"
  Next
End Sub

二、对齐方式

Sub 设置表格()
  Dim t As Table
  For Each t In ActiveDocument.Tables
'设置表格的对齐方式
'水平靠右
    t.Range.ParagraphFormat.Alignment = wdAlignParagraphRight
'垂直居中
    t.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter
  Next
End Sub

三、自动调整

Sub 设置表格()
'自动调整功能

'Table.AutoFitBehavior 方法
'确定 Microsoft Word 如何使用自动调整功能来调整表格的大小
'
'说明
'Word 可以根据表格单元格的内容或文档窗口的宽度重新调整表格的大小。
'也可使用本方法来关闭“自动调整”功能。
'这样,表格的大小是固定值,而不随单元格内容或窗口宽度而改变。
'
'将 AutoFitBehavior 属性设置为 wdAutoFitContent 或 wdAutoFitWindow
'会将 AllowAutoFit 属性设置为 True(如果该属性当前为 False)。
'同样,将 AutoFitBehavior 属性设置为 wdAutoFitFixed 会将 AllowAutoFit 属性设置为 False(如果该属性当前为 True)。
  Dim t As Table
  For Each t In ActiveDocument.Tables
    t.AllowAutoFit = True
    t.AutoFitBehavior (wdAutoFitContent)
  Next

  
End Sub

四、分布行和分布列

Sub 设置表格()
  Dim t As Table
  For Each t In ActiveDocument.Tables
    '分布行
'    Rows.DistributeHeight 方法 将指定行或单元格的高度调整为相等
'    Cells.DistributeHeight 方法 将指定单元格调整为等高。
    
    t.Range.Cells.DistributeHeight
    t.Rows.DistributeHeight
    
    '分布列
    'Columns.DistributeWidth 方法
    'Cells.DistributeWidth 方法
    t.Range.Cells.DistributeWidth 将指定列调整为等宽
    t.Columns.DistributeWidth 将指定单元格调整为等宽
  Next
End Sub

本示例将第一张表格的前三行高度调整为相等

'本示例将第一张表格的前三行高度调整为相等
Sub test()
Dim rngTemp As Range
  '定义前三行为一个区域
  Set rngTemp = ActiveDocument.Range(Start:=ActiveDocument _
      .Tables(1).Rows(1).Range.Start, _
      End:=ActiveDocument.Tables(1).Rows(3).Range.End)
  '将定义区域内行的高度调整为相等
  rngTemp.Rows.DistributeHeight
End Sub

标签:Tables,vba,word,Sub,表格,Range,ActiveDocument,End
From: https://blog.51cto.com/shenjiren/5974335

相关文章

  • word vba 操作表格, 使用vba设置表格的列
    介绍使用vba语句操作word中的表格。本文讲解word中使用vba来操作表格的列主要为:使用vba设置word中的表格列,增、删列、设置列高、设置列的水平和垂直对齐方式。一、插入......
  • VBA中的(升降序)排名问题
    1Sub升序()23all_rows=Sheets(1).Range("a65536").End(xlUp).Row45WithActiveWorkbook.Worksheets(1)6.Sort.SortFields.Cle......
  • LaTeX简易教程 | 04 一篇文章讲通LaTeX表格格式与常用表格类型详解
    导读LaTeX是我们科研过程中,非常重要的编写论文的工具。掌握LaTeX的基本用法,是科研人员必备的技能。学LaTeX的过程中,遇到很多坑,总结一下,写一份简易教程,方便大家入门LaTeX并能......
  • 在TableViewer中如何给表格的单元格增加其他组件的编辑功能
    我想实现在JFace/SWT下的TableViewer中的单元格中能添加一些组件比如Button,Text,Label的功能,我查了一下,JFace本身已经实现了ComboBoxCellEditor,TextCellEditor,CheckboxCellE......
  • SiteFactory支持Word图片导入
    ​ ueditor粘贴不能粘贴word中的图片是一个很头疼的问题,在我们的业务场景中客户要求必须使用ueditor并且支持word的图片粘贴,因为这个需求头疼了半个月,因为前端方面因为安......
  • PPT 表格设计
    顶级商业图表在哪找​​https://www.mckinsey.com.cn/​​​麦肯锡图表​​​https://www.cbnweek.com​​​第一财经​​​https://data.163.com/​​​DATABLOG数......
  • SiteFactory支持Word图片一键粘贴
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java"......
  • C#使用Aspose将Word\HTML 转换成PDF文件
    写在前面Aspose这个是收费的,直接使用是有水印的需要用到的dll文件==> Aspose.Words.dll、Aspose.HTML.dll、Aspose.Total.lic(授权文件)我使用的是.NETFramework4.0......
  • SiteFactory支持Word图片一键上传
    ​ 当前功能基于PHP,其它语言流程大抵相同。大概流程:1.将docx文件上传到服务器中2.使用PHPoffice/PHPword实现将word转换为HTML3.将HTML代码返回并赋值到编辑器中......
  • SiteFactory支持Word图片一键导入
    ​ 当前功能基于PHP,其它语言流程大致相同 1.新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /* 上传word配置 */    "wordAction......