If MsgBox("设置每列宽度?", vbYesNo + vbQuestion) = vbYes Then
For i = 1 To ActiveDocument.Tables.Count
' MsgBox (ActiveDocument.Tables(i).Cell(1, 1).Range.Text)
ActiveDocument.Tables(i).Columns(1).PreferredWidth = 35
ActiveDocument.Tables(i).Columns(2).PreferredWidth = 11
ActiveDocument.Tables(i).Columns(3).PreferredWidth = 11
ActiveDocument.Tables(i).Columns(4).PreferredWidth = 13
ActiveDocument.Tables(i).Columns(5).PreferredWidth = 13
ActiveDocument.Tables(i).Columns(6).PreferredWidth = 17
Next
MsgBox ("完成")
Else
MsgBox ("任务取消")
End If
End Sub作者: 三三008 时间: 2018-3-22 10:32 本帖最后由 三三008 于 2018-3-22 10:34 编辑
能不能帮我把这个VBA改成指定行的列设置,而不是每行每列?
Sub 设置每列宽度()
If MsgBox("设置每列宽度?", vbYesNo + vbQuestion) = vbYes Then
For i = 1 To ActiveDocument.Tables.Count
' MsgBox (ActiveDocument.Tables(i).Cell(1, 1).Range.Text)
ActiveDocument.Tables(i).Columns(1).PreferredWidth = 35
ActiveDocument.Tables(i).Columns(2).PreferredWidth = 11
ActiveDocument.Tables(i).Columns(3).PreferredWidth = 11
ActiveDocument.Tables(i).Columns(4).PreferredWidth = 13
ActiveDocument.Tables(i).Columns(5).PreferredWidth = 13
ActiveDocument.Tables(i).Columns(6).PreferredWidth = 17
Next
MsgBox ("完成")
Else
MsgBox ("任务取消")
End If
End Sub