Como criar uma macro do Outlook que atualiza os atributos de uma tabela para reduzir uma tabela ao texto contido sem quebra automática?

0

Atualizado: Macro atualizada com correção.

Versão: Outlook 2013

Eu quero ser capaz de ...

  1. Altere o tamanho da fonte do texto na tabela. (pronto)
  2. Remova (desmarque) os atributos "Largura preferencial" dos atributos ativos de tabela, coluna e célula.
  3. Remove (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 seja quebra automática de palavras.

Se eu usar o autoFit, será o mesmo que aTbl.Columns.PreferredWidth = Unchecked .

Se eu definir as colunas individualmente, será o mesmo que aTbl.Columns.PreferredWidth = Unchecked .

Teve que importar a biblioteca de objetos do MS Word:

Oqueeutenhoatéagora:

PublicSubFormatSelectedText()DimobjItemAsObjectDimobjInspAsOutlook.Inspector'AddreferencetoWordlibraryinVBAEditor,Tools,ReferencesDimobjWordAsWord.ApplicationDimobjDocAsWord.DocumentDimobjSelAsWord.Selection'OnErrorResumeNext'ReferencethecurrentOutlookitemSetobjItem=Application.ActiveInspector.CurrentItemIfNotobjItemIsNothingThenIfobjItem.Class=olMailThenSetobjInsp=objItem.GetInspectorIfobjInsp.EditorType=olEditorWordThenSetobjDoc=objInsp.WordEditorSetobjWord=objDoc.ApplicationSetobjSel=objWord.SelectionobjSel.Font.Size=8DimaTblAsWord.TableFori=1ToobjSel.Tables.Count()SetaTbl=objSel.Tables.Item(i)aTbl.Borders.InsideLineStyle=wdLineStyleSingleaTbl.Borders.OutsideLineStyle=wdLineStyleSingleaTbl.Rows.Height=UncheckedaTbl.Rows.AllowBreakAcrossPages=FalseaTbl.Columns.PreferredWidth=UncheckedaTbl.Columns.PreferredWidthType=wdPreferredWidthAutoaTbl.PreferredWidth=UncheckedNextEndIfEndIfEndIfSetobjItem=NothingSetobjWord=NothingSetobjSel=NothingSetobjInsp=NothingEndSub

OquepareceantesdoScript:

ResultadoEsperado:

DepoisdeexecutarsemaTbl.Columns.PreferredWidth=Unchecked(feche,masnãocomprimaascolunas):

Depoisdeexecutarw/aTbl.Columns.PreferredWidth=Unchecked(apenas..não):

Exemplodasconfiguraçõesqueprecisamseralteradasparaalteraratabelacorretamente:

    
por ScrappyDev 10.12.2015 / 19:35

1 resposta

1

Para mim, isso funcionou:

                aTbl.Columns.PreferredWidth = Unchecked
                aTbl.Columns.PreferredWidthType = wdPreferredWidthAuto
    
por 06.10.2016 / 15:38