Sherylは、多くのテーブルを含むドキュメントを定期的に作成します。

各テーブルは、一般的なレイアウトが同じであるという点で一貫しています。 (各列には同じ数の列が含まれ、各列には同じタイプの情報が含まれます。)Sherylは、すべてのテーブルの列の幅が一貫していることを確認する方法を探しています。

解決策は、テーブルをいつ作成する必要があるかによって異なります。ドキュメントが新しいものである場合、一貫した方法でテーブルを作成するのはかなり簡単です。他の_WordTips_で説明されているように(ここでは説明しません)、標準の表を定型句に保存するか、表の表示方法を定義する表スタイルを作成できます。必要に応じて、定型句を挿入するかスタイルを適用するだけで、必要に応じてテーブルが表示されます。

ドキュメントがすでに作成されていて、ドキュメント内に存在するテーブルに一貫性を適用したいだけの場合、ソリューションはもう少し複雑になります。その場合の解決策は、マクロを使用して列の幅を変更することです。

次の方法で、ドキュメント内の各テーブルをすばやくステップスルーし、テーブル内の各列を同じ幅にするマクロを作成できます。

Sub SetColumnWidths1()

Dim t As Table     For Each t In ActiveDocument.Tables         t.Columns.Width = InchesToPoints(2)

Next t End Sub

ただし、各列の幅を2インチにしたくない場合もあります。おそらく、各列を他の列とは異なる特定の幅にする必要があります。マクロの次の反復は、その可能性を処理します:

Sub SetColumnWidths2()

Dim t As Table     For Each t In ActiveDocument.Tables         t.Columns(1).Width = InchesToPoints(2)

t.Columns(2).Width = InchesToPoints(2.5)

t.Columns(3).Width = InchesToPoints(3)

Next t End Sub

このようなマクロの欠点は、コーディングで各列の幅を指定する必要があることです。また、ドキュメントに異常なテーブルがある場合(他のすべてのテーブルと同じ列数ではない場合)、マクロは列の幅を簡単に設定しようとします。

したがって、より良いアプローチは、ドキュメントに「モデル」テーブルを置き、他のすべてのテーブルをそのテーブルと同じ列幅を使用するように設定することです。簡単な方法は、ドキュメントの最初のテーブルの列幅を手動でフォーマットしてから、マクロでそのテーブルを調べて、残りのテーブル列のパターンとして使用することです。

Sub SetColumnWidths3()

Dim t As Table     Dim c As Column     Dim ccnt As Integer     Dim w() As Single     Dim J As Integer     Dim K As Integer

Set t = ActiveDocument.Tables(1)

ccnt = t.Columns.Count     ReDim w(ccnt)

J = 0     For Each c In t.Columns         J = J + 1         w(J) = c.Width     Next c

For J = 2 To ActiveDocument.Tables.Count         Set t = ActiveDocument.Tables(J)

If t.Columns.Count = ccnt Then             For K = 1 to ccnt                 t.Columns(K).Width = w(K)

Next K         Endif     Next J End Sub

このマクロは、最初のテーブルの列数を調べ(ccnt変数に値を割り当て)、次にそれらの各列の幅を調べます(w配列に値を割り当てます)。次に、ドキュメント内の残りのテーブルをステップ実行し、テーブル内の列の数がccnt変数の数と一致する場合、各列の幅をw配列に格納されている幅に設定します。その結果、ドキュメント内の各テーブル(少なくとも、最初のテーブルと同じ列数を持つテーブル)の列幅は同じになります。

ここに1つの潜在的な落とし穴があります。ドキュメント内のテーブルが何らかの方法で結合されたセルを使用している場合、得られる結果を台無しにする可能性があります。その場合、マクロを実行する前にドキュメントを保存する必要があります。

これにより、結果を視覚的に確認し、必要に応じて保存したドキュメントに戻すことができます。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(11692)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ: