
Atualizada:Macro atualizada com correção.
Versão: Outlook 2013
Eu quero poder...
- Altere o tamanho da fonte do texto na tabela.(Feito)
- Remova (desmarque) os atributos "Largura Preferencial" dos atributos ativos da tabela, coluna e célula.
- Remova (desmarque) o atributo "Altura especificada" das linhas da tabela.
Se eu usar aTbl.Columns.PreferredWidth = Unchecked
para compactar as colunas, ele faz uma quebra de linha e não desmarca a caixa. Eu quero que NÃO haja quebra de linha.
Se eu usar o autoFit, será igual a aTbl.Columns.PreferredWidth = Unchecked
.
Se eu definir as colunas individualmente, será igual a aTbl.Columns.PreferredWidth = Unchecked
.
Tive que importar a biblioteca de objetos do MS Word:
O que tenho até agora:
Public Sub FormatSelectedText()
Dim objItem As Object
Dim objInsp As Outlook.Inspector
' Add reference to Word library in VBA Editor, Tools, References
Dim objWord As Word.Application
Dim objDoc As Word.Document
Dim objSel As Word.Selection
'On Error Resume Next
'Reference the current Outlook item
Set objItem = Application.ActiveInspector.CurrentItem
If Not objItem Is Nothing Then
If objItem.Class = olMail Then
Set objInsp = objItem.GetInspector
If objInsp.EditorType = olEditorWord Then
Set objDoc = objInsp.WordEditor
Set objWord = objDoc.Application
Set objSel = objWord.Selection
objSel.Font.Size = 8
Dim aTbl As Word.Table
For i = 1 To objSel.Tables.Count()
Set aTbl = objSel.Tables.Item(i)
aTbl.Borders.InsideLineStyle = wdLineStyleSingle
aTbl.Borders.OutsideLineStyle = wdLineStyleSingle
aTbl.Rows.Height = Unchecked
aTbl.Rows.AllowBreakAcrossPages = False
aTbl.Columns.PreferredWidth = Unchecked
aTbl.Columns.PreferredWidthType = wdPreferredWidthAuto
aTbl.PreferredWidth = Unchecked
Next
End If
End If
End If
Set objItem = Nothing
Set objWord = Nothing
Set objSel = Nothing
Set objInsp = Nothing
End Sub
Como é antes do Script:
Resultado esperado:
Depois de executar sem aTbl.Columns.PreferredWidth = Unchecked
(fechar, mas não compactar as colunas):
Depois de correr com aTbl.Columns.PreferredWidth = Unchecked
(apenas.. Não):
Exemplo das configurações que precisam ser alteradas para alterar a tabela corretamente:
Responder1
Para mim isso funcionou:
aTbl.Columns.PreferredWidth = Unchecked
aTbl.Columns.PreferredWidthType = wdPreferredWidthAuto