줄 바꿈 없이 테이블을 포함된 텍스트로 축소하기 위해 테이블 ​​속성을 업데이트하는 Outlook 매크로를 만드는 방법은 무엇입니까?

줄 바꿈 없이 테이블을 포함된 텍스트로 축소하기 위해 테이블 ​​속성을 업데이트하는 Outlook 매크로를 만드는 방법은 무엇입니까?

업데이트됨:수정 사항을 포함하여 매크로를 업데이트했습니다.

버전: 아웃룩 2013

나는 할 수 있고 싶다 ...

  1. 테이블에 있는 텍스트의 글꼴 크기를 변경합니다.(완료)
  2. 테이블, 열 및 셀 활성 속성에서 "기본 너비" 속성을 제거(선택 취소)합니다.
  3. 테이블 행에서 "지정된 높이" 속성을 제거(선택 취소)합니다.

열을 압축하는 데 사용하면 aTbl.Columns.PreferredWidth = Unchecked단어 줄바꿈이 수행되고 상자의 선택이 취소되지 않습니다. 나는 그것을 단어 줄 바꿈이 아니길 원합니다.

autoFit을 사용하면 aTbl.Columns.PreferredWidth = Unchecked.

열을 개별적으로 설정하면 aTbl.Columns.PreferredWidth = Unchecked.

MS Word 개체 라이브러리를 가져와야 했습니다.

MS Word 개체 라이브러리 가져오기

내가 지금까지 가지고 있는 것:

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

스크립트 이전의 모습:

전에

예상 결과:

예상 결과

없이 실행한 후 aTbl.Columns.PreferredWidth = Unchecked(닫지만 열을 압축하지는 않음):

PreferredWidth 포함

실행 후 aTbl.Columns.PreferredWidth = Unchecked(그냥.. 아니오):

PreferredWidth 없음

테이블을 올바르게 변경하기 위해 변경해야 하는 설정의 예:

테이블 속성 - 테이블 테이블 속성 - 행 테이블 속성 - 열 테이블 속성 - 셀

답변1

나에게 이것은 효과가 있었습니다:

                aTbl.Columns.PreferredWidth = Unchecked
                aTbl.Columns.PreferredWidthType = wdPreferredWidthAuto

관련 정보