格式化从 Excel 粘贴到 Word 的 table
Formatting a table pasted from Excel to Word
来自菜鸟和零星 vba 用户的大家好。我已经成功地将一组表格从 Excel 复制到 Word 中,并使用下面的第一个例程对每个表格进行格式化。为了适应更大的字体,我需要更改第一行的行高并更改段落行距,但第二段代码无法做到这一点。我确定解决方案很简单......
For t = 1 To 6
With appWD.Selection.Tables(t)
.TopPadding = 0
.BottomPadding = 0
.LeftPadding = 0.11
.RightPadding = 0
.Spacing = 0
.AllowPageBreaks = True
.AllowAutoFit = True
.Rows.SetHeight RowHeight:=12, HeightRule:=2
End With
Next t
For t = 1 To 6
With appWD.Selection.Tables(t).Rows(1)
.SetHeight RowHeight:=18
.ParagraphFormat.LineSpacing = 15
End With
Next t
••••ˇˇˇˇ
我 运行 Excel/Word 2016 年 mac。
谢谢。
使用 appWD.Selection 是不好的做法。您有一个要处理的打开文档,因此请直接引用它。例如:
With wdDoc
For t = 1 To 6
With .Tables(t)
.TopPadding = 0
.BottomPadding = 0
.LeftPadding = 0.11
.RightPadding = 0
.Spacing = 0
.AllowPageBreaks = True
.AllowAutoFit = True
.Rows.SetHeight RowHeight:=12, HeightRule:=2
.Rows(1).SetHeight RowHeight:=18, HeightRule:=1
.Rows(1).Range.ParagraphFormat.LineSpacing = 15
End With
Next t
End With
请注意第 1 行 SetHeight 方法包含了适当的 HeightRule 参数。另请注意,所有处理都是在一个循环中完成的,而不是您的代码使用的两个循环。
来自菜鸟和零星 vba 用户的大家好。我已经成功地将一组表格从 Excel 复制到 Word 中,并使用下面的第一个例程对每个表格进行格式化。为了适应更大的字体,我需要更改第一行的行高并更改段落行距,但第二段代码无法做到这一点。我确定解决方案很简单......
For t = 1 To 6
With appWD.Selection.Tables(t)
.TopPadding = 0
.BottomPadding = 0
.LeftPadding = 0.11
.RightPadding = 0
.Spacing = 0
.AllowPageBreaks = True
.AllowAutoFit = True
.Rows.SetHeight RowHeight:=12, HeightRule:=2
End With
Next t
For t = 1 To 6
With appWD.Selection.Tables(t).Rows(1)
.SetHeight RowHeight:=18
.ParagraphFormat.LineSpacing = 15
End With
Next t
••••ˇˇˇˇ
我 运行 Excel/Word 2016 年 mac。
谢谢。
使用 appWD.Selection 是不好的做法。您有一个要处理的打开文档,因此请直接引用它。例如:
With wdDoc
For t = 1 To 6
With .Tables(t)
.TopPadding = 0
.BottomPadding = 0
.LeftPadding = 0.11
.RightPadding = 0
.Spacing = 0
.AllowPageBreaks = True
.AllowAutoFit = True
.Rows.SetHeight RowHeight:=12, HeightRule:=2
.Rows(1).SetHeight RowHeight:=18, HeightRule:=1
.Rows(1).Range.ParagraphFormat.LineSpacing = 15
End With
Next t
End With
请注意第 1 行 SetHeight 方法包含了适当的 HeightRule 参数。另请注意,所有处理都是在一个循环中完成的,而不是您的代码使用的两个循环。