複数のテーブルで一貫した列幅を設定する(Microsoft Word)
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)用のこのヒントのバージョンを見つけることができます。以降)ここ:
link複数のテーブルで一貫した列幅を設定する。