
更新しました:マクロを修正して更新しました。
バージョン: Outlook 2013
...できるようになりたいです。
- 表内のテキストのフォント サイズを変更します。(終わり)
- テーブル、列、セルのアクティブ属性から「推奨幅」属性を削除(チェックを外す)します。
- テーブルの行から「指定された高さ」属性を削除(チェックを外す)します。
列を圧縮するためにを使用するとaTbl.Columns.PreferredWidth = Unchecked
、単語の折り返しが行われ、ボックスのチェックが外されません。単語の折り返しを行わないようにしたいです。
autoFit を使用すると、 と同じように見えますaTbl.Columns.PreferredWidth = Unchecked
。
列を個別に設定した場合、 と同じように見えますaTbl.Columns.PreferredWidth = Unchecked
。
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
(閉じますが、列は圧縮しません):
aTbl.Columns.PreferredWidth = Unchecked
(ただ…いや)で走った後:
テーブルを正しく変更するために変更する必要がある設定の例:
答え1
私の場合はこれがうまくいきました:
aTbl.Columns.PreferredWidth = Unchecked
aTbl.Columns.PreferredWidthType = wdPreferredWidthAuto