【PR】 ワードマクロ集

ワード文書中のすべての表の配置を一気に揃えるマクロ【図解】

2024-06-07

こんな方におすすめ

  • ワード文書中の表の配置を一気に変更したい!

このマクロは、ワード文書中のすべての表の配置を自動で一括変更するマクロ(Word VBA)です。

ワード文書中に表が沢山ある場合、それらの配置を一つ一つ変更するのは大変です。

そのようなときにこのマクロが役立ちます。

\Word VBAを学べる貴重な一冊 /

created by Rinker
¥3,540 (2024/12/08 06:40:01時点 楽天市場調べ-詳細)




概要

以下に、このマクロの概要を示します。

ワード文書中のすべての表の配置を一気に揃えるマクロの概要

このマクロを実行すると、上のイラストのように、ワード文書中のすべての表の配置が揃います。

配置は、左、中央、右の中から選べます。

このように、非常にシンプルなマクロです。

詳細説明

マクロの準備

こちらの記事に記載したステップ①の手順1~6までを実施した後、ステップ①の手順で、この記事の最後にあるコードを標準モジュールのModule1にコピペします

コピペすると、以下の状態になります。

こちらの記事に記載したステップ①8から22までを行います

ステップ①の11では、「Project.Module1.AlignTables」を選択してから、追加ボタンを押してください(以下のイラストのようにしてください)

クイックアクセスツールバーの設定画面

(ステップ①の13では、お好きなアイコンを選んでください)

(ステップ①の20での保存名は何でもかまいません)

こちらの記事に記載したステップ②を行います

ステップ②を行うことで、このマクロをどのワード文書からも呼び出せるようになります。

このマクロは、配置を揃えたい表を含む文書を開いて、そこからマクロを呼び出すことが基本の使用方法になるため、ステップ②を行う方が便利です

以上でマクロの準備が整いました!

マクロの使用方法

このマクロを実行すると表の配置が変更されるため、必要に応じて、処理対象の文書の事前バックアップを行ってください。

このマクロは、以下の手順で簡単に実行できます。

.配置を変更したい表を含むワード文書を開きます

ワードのアイコン

.マクロを実行します

開いたワード文書の左上に表示されている本マクロのアイコンをクリックします。

(アイコンは、各自が選んだアイコンになります)

ワード文書左上のクイックアクセスツールバー上のマクロのアイコン

.表の配置を選択します

以下の入力ボックスに、配置に対応する番号を入力します(番号は、半角でも全角でもかまいません)

1:左揃え 2:中央揃え 3:右揃え

4.OKボタンを押します

表の配置を選択する入力ボックス

OKボタンを押すと、以下の確認メッセージが出ますので、内容を確認後に「はい」を押してください。

確認メッセージ

「はい」を押すと自動で処理が始まり、以下のようなメッセージが出ますので、OKボタンを押してください。

処理の終了メッセージ

これで、マクロの動作は終わりです。




コード

以下は、本マクロのコードです。

上で説明したように標準モジュールにコピペしてご使用ください。

(以下のコードをすべて選択して、そのまま貼り付けてください)

コードの貼り付けの説明に戻る場合は、ここをクリックしてください。

現在の公開バージョンは、V01L02です。

Sub AlignTables()
'V01L02
    Dim inputBoxValue As Variant
    Dim msgBoxValue As Integer
    Dim tbl As Table
    Dim alignMessage As String
    Dim tableCount As Integer

    Do
        ' Display an input box
        inputBoxValue = InputBox("1: 左揃え 2: 中央揃え 3: 右揃え", "表の配置の選択")
    
        ' If the Cancel button is pressed, exit the subroutine
        If StrPtr(inputBoxValue) = 0 Then
            Exit Sub
        ' If the input box is empty, show a message
        ElseIf inputBoxValue = "" Then
            MsgBox "数字を入力してください"
        ' If the input box is not empty, exit the loop
        ElseIf inputBoxValue <> "" Then
            Exit Do
        End If
    Loop
    
    ' If an invalid value is entered, display an error message
    If inputBoxValue <> 1 And inputBoxValue <> 2 And inputBoxValue <> 3 Then
        MsgBox "無効な入力値です。1, 2, または3を入力してください。", vbCritical, "エラー"
        Exit Sub
    End If

    ' Set the message based on the value entered in the input box
    Select Case inputBoxValue
        Case 1
            alignMessage = "左揃えにします。処理を開始してよろしいですか?"
        Case 2
            alignMessage = "中央揃えにします。処理を開始してよろしいですか?"
        Case 3
            alignMessage = "右揃えにします。処理を開始してよろしいですか?"
    End Select

    ' Display the "Do you want to start the process?" message
    msgBoxValue = MsgBox(alignMessage, vbYesNo, "確認")
    If msgBoxValue = vbNo Then Exit Sub ' If "No" is selected, end the process

    ' Align the tables based on the value entered in the input box
    For Each tbl In ActiveDocument.Tables
        Select Case inputBoxValue
            Case 1 ' Left align
                tbl.Rows.Alignment = wdAlignRowLeft
            Case 2 ' Center align
                tbl.Rows.Alignment = wdAlignRowCenter
            Case 3 ' Right align
                tbl.Rows.Alignment = wdAlignRowRight
        End Select
        tableCount = tableCount + 1
    Next tbl

    ' Display the result message
    If tableCount = 0 Then
        MsgBox "この文書中には表は存在しません。", vbInformation, "情報"
    Else
        MsgBox "処理が完了しました。" & tableCount & "個の表が処理されました。", vbInformation, "完了"
    End If
End Sub

コードの貼り付けの説明に戻る場合は、ここをクリックしてください。

以上でこのマクロの紹介は終わりです。

最後まで読んでいただきましてありがとうございました!

よろしければ、他のマクロも是非見て行ってください!

陰キャくじら
陰キャくじら
【スポンサーリンク】



-ワードマクロ集
-, ,