Word 2013 - macro não aplicaria valores de preenchimento de célula

0

Apenas um pouco de dificuldade aqui, eu estava tentando criar apenas uma macro simples para remover o preenchimento de células de todas as tabelas de um documento, mas por algum motivo desconhecido a macro não aplica as configurações. Manualmente (incluindo ao gravar a macro) funciona como um encanto.

Sub Macro1()
'
' Macro1 Macro
'
'
Selection.HomeKey Unit:=wdStory
Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=1, Name:=""
Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=1, Name:=""
Selection.Find.ClearFormatting
With Selection.Find
    .Text = ""
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Tables(1).Select
With Selection.Cells(1)
    .TopPadding = CentimetersToPoints(0.05)
    .BottomPadding = CentimetersToPoints(0.05)
    .LeftPadding = CentimetersToPoints(0.05)
    .RightPadding = CentimetersToPoints(0.05)
    .WordWrap = True
    .FitText = False
End With
End Sub

Alguma ideia? Eu fiquei sem nenhum.

Felicidades, James

    
por James9821 04.07.2018 / 06:29

1 resposta

0

Seu código está configurado para alterar apenas a primeira tabela no documento e, em seguida, somente a primeira célula selecionada. A descrição do que você realmente quer não está clara, mas eu suponho que você queira limpar as margens em todas as células da tabela em todas as tabelas existentes no documento.

Sub YouSayPaddingISayMargin()
'sets the default margin sizes for all
'existing tables in the document
Dim tbl As Word.Table
For Each tbl In ActiveDocument.Tables
    tbl.TopPadding = CentimetersToPoints(0)
    tbl.BottomPadding = CentimetersToPoints(0)
    tbl.LeftPadding = CentimetersToPoints(0)
    tbl.RightPadding = CentimetersToPoints(0)
Next

End Sub

    
por 05.07.2018 / 19:32