0
我需要一遍又一遍地创建同一个表,所以我想用VBA宏创建一个表。VBA如果表中的每个单元格都改变了所有的边界
到目前为止,我成功创建了表格并更改了单元格的宽度。 现在我想将表中的每个边框设置为wdLineStyleNone。
我该如何做到这一点。
这是我迄今为止所做的代码。
Sub tabel_maken()
'
' tabel_maken Macro
'
'
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=4, NumColumns:= _
2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
With Selection.Tables(1)
If .Style <> "Tabelraster" Then
.Style = "Tabelraster"
End If
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = False
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = False
.ApplyStyleRowBands = True
.ApplyStyleColumnBands = False
End With
Selection.Tables(1).Rows.SetLeftIndent LeftIndent:=3.75, RulerStyle:= _
wdAdjustNone
Selection.Tables(1).Columns(1).SetWidth ColumnWidth:=63.8, RulerStyle:= _
wdAdjustNone
Selection.Tables(1).Columns(2).SetWidth ColumnWidth:=297.7, RulerStyle:= _
wdAdjustNone
Selection.Tables(1).Range.Select
Selection.Borders(wdBorderTop).LineStyle = wdLineStyleNone
Selection.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
Selection.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
Selection.Borders(wdBorderRight).LineStyle = wdLineStyleNone
Selection.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
Selection.Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
Selection.Borders(wdBorderTop).LineStyle = wdLineStyleNone
Selection.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
Selection.Cells.Borders(wdBorderLeft) = wdLineStyleNone
End Sub
我想我正在寻找一些东西来改变表的内部边界。
当我离开Selections.Tables(1).Range.Select
时,只有第一个单元格被选中。 当我将此代码放入时,表格的外边框被选中。
最后,我尝试选择所有的单元格,并改变边界的方式,但也没有工作。 Selection.Cells.Borders(wdBorderLeft) = wdLineStyleNone)
我希望有人能帮助我这个。
我改变了'ActiveDocument.Tables(1)''到Selection.Tables(1)'然后它的工作。 –