テーブルの属性を更新して、テーブルを折り返さずに含まれるテキストに縮小する Outlook マクロを作成するにはどうすればよいですか?

テーブルの属性を更新して、テーブルを折り返さずに含まれるテキストに縮小する 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

スクリプト前の状態:

前に

期待される結果:

期待される結果

w/out で実行した後aTbl.Columns.PreferredWidth = Unchecked(閉じますが、列は圧縮しません):

PreferredWidth 付き

aTbl.Columns.PreferredWidth = Unchecked(ただ…いや)で走った後:

PreferredWidth なし

テーブルを正しく変更するために変更する必要がある設定の例:

表のプロパティ - 表 表のプロパティ - 行 表のプロパティ - 列 表のプロパティ - セル

答え1

私の場合はこれがうまくいきました:

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

関連情報