\r\n\r\n

ワードでマクロを使い始めるには

マイクロソフトのワードでは、1つのマクロコマンドで何分もの作業時間を短縮することができます。簡単な例でマクロの使い方を学ぶことができます...

Microsoft Wordで繰り返される作業にうんざりしていませんか?プログラムには強力な自動化ツールが組み込まれており、これらの作業に煩わされることはありません。マクロの話です。この機能はマイクロソフトのvisualbasicforapplicati***(VBA)に依存していますが、コーディングという考え方が大きな利便性をもたらす場合でも、利用することは可能です。

ボタンをクリックすると、Wordがあなたの操作を記録し、いつでも再生できるマクロを生成します。もし、あなたが冒険好きなら、より高度な自動化のためにマクロを簡単に修正することができます。

ここでは、簡単な例ですが、Wordの検索と置換機能を自動化する方法を紹介します。

マクロを記録する

この例では、あなたは「アンティーク歯科医療機器保存協会」の尊敬すべき会長です。歴史的な入れ歯などに関するWord文書が何十枚もあり、そのすべてに学会名が目立つように記載されていますね。突然、理事会で「歯科骨董品保存連盟」に改称することが決議された。あとは、ドキュメントを簡単に更新する方法が必要です。

新規の白紙文書から始めることも、既存の文書を開くこともできますが、まだ開いていない場合は、「開発者」タブを有効にする必要があります。

File> Options> Customize Ribbonに進みます。右側の「メインタブ」で、「開発者」にチェックを入れます。OKを選択し、終了します。

では、マクロを作成してみましょう。

  1. 開発者」 > 「マクロの記録」をクリックします。
  2. マクロの名前を入力する画面が表示されます。ChangeSocietyName」等、適当な名前を入力してください。マクロの名前を付けるとき、スペース、ピリオド、感嘆符、特殊文字はエラーメッセージの原因となりますので、使用しないでください。数字を使用してもよいが、最初の文字は文字でなければならない。
  3. マクロはボタンやキーボードショートカットに割り当てることができますが、これは必須ではありません。ボタンを選択すると、Wordはそのボタンをクイックアクセスツールバーに追加することができるようになります。また、マクロの簡単な説明を追加することもできます。
  4. Ctrl+Hキーを押して、「検索と置換」ダイアログボックスを開きます。
  5. 検索で「歯科骨董品保存会」、置換で「歯科骨董品保存連盟」にアクセスする。
  6. すべて置き換え]をクリックすると、検索と置き換えの操作を実行します。記録したい動作はこれだけです。マクロが任意のテキストを置き換えることは問題ではありません。他の文書で使用するために保存しておくことがポイントです。
  7. これは重要です。"Developer" > "Stop Recording "をクリックします。さもなければ、マクロはその後のすべてのアクションを含むことになります。

それでは、作品をご覧ください。アソシエーションの名前を含むドキュメントを開きます。Developer > Macros」をクリックします。ChangeSocietyNameをダブルクリックすると、Wordは自動的に検索と置換を実行します。

ヒント:マクロを記録する際に、記録したくない動作を行う必要がある場合があります。例えば、「検索と置換」ダイアログボックスにテキストを手入力する代わりに、コピー&ペーストで入力したい場合があります。問題ありません。Developer> "Pause Recording "をクリックし、テキストをコピー&ペーストして、Developer> "Continue Recording "をクリックするだけです。"録音を続ける "です。その後、上記のマクロの記録を終了することができます。

ここではMicrosoft Wordに焦点を当てていますが、Excelの生産性を向上させるためにマクロを使用することもできます。そして、Microsoft OneNoteには、時間を節約するマクロがたくさんあります。

インフィルトレーションコード

これから、新しいワードマクロを掘り下げていきます。開発者」> 「マクロ」を開きますが、マクロをダブルクリックするのではなく、選択して「編集」をクリックしてください。VBAアプリケーションを構築するための自己完結型の環境であるvisualbasic editorが起動します。

難しそうに見えるかもしれませんが、メニューやほとんどのパネルは無視しても大丈夫です。その代わり、コードの入っているウィンドウに注目します。ご覧のように、Wordは検索と置換を実行するマクロを書いたところです。

Sub ChangeSocietyName()'' ChangeSocietyName Macro' Rename Society for the Preservation of Antique Dental Appliances' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "Society for the Preservation of Antique Dental Appliances" .Replacement.Text = "Dental Antiques Preservation League" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAllEnd Sub

ここで、何が起こっているのかを説明しましょう。

1行目の「sub」は「サブルーチン」の略で、単独で、または大規模なVBAアプリケーションの一部として実行できる小さなプログラムのことです。一重引用符で囲まれた行は、コメントとして使用されます。逆カンマは、これらの行にあるステートメントを無視するようにVBAに指示します。

次に、コードの核心部分、つまり検索と置換の操作を行うコードに入ります。ご覧のように、「検索と置換」ダイアログボックスの各オプションの値を指定しており、逆カンマの中のテキストや置換テキストも指定できます。この選択見つける。コマンドは、「すべて置き換え」ボタンをクリックしたのと同じ意味になります。

マクロの修正

マクロを使うには、コードをいじる必要はなく、見る必要もない。しかし、もっと深く掘り下げれば、この機能から多くのことを得ることができるのです。例えば、マクロの記録中にスペルミスをしたとします。録り直すのではなく、ビジュアルベーシックに入って修正すればいいのです。

また、マクロを微調整して、より便利なものにすることもできます。Wordは、手動またはマクロで検索と置換を実行すると、検索と置換のテキストを記憶します。次に「検索と置換」ダイアログボックスを開くと、次のように表示されます。

これらの値をクリアすることで、きれいなダイアログボックスを得ることができます。2つ目のマクロを使いますが、今回はvisualbasicで直接行います。

  1. Visualbasicエディタで、サブルーチンの先頭行から最後までを選択し、Ctrl+Cキーを押してコピーします。
  2. endsubの下にカーソルを置いてCtrl+Vを押すと、サブルーチンがコピーされます。
  3. ChangeSocietyName から ClearFindReplace に変更します(その他、お好みの名前に変更してください)。重複した名前でマクロを実行しようとすると、VBAはエラーメッセージを生成するため、これは重要なことです。
  4. .NETのテキストと置換テキスト値では、テキストを削除し、引用符は維持します。基本的には、Wordに何も見つからないことを伝え、何もない状態に置き換えますが、これらの値もクリアされます。

このような結果になるはずです。

Sub ClearFindReplace()'' ClearFindReplace Macro' Clear Text from Find and Replace dialog' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAllEnd Sub

ここで、ChangeSocietyNameマクロに戻ります。検索と置換のコードの下、End Subの前に、ClearFindReplaceと入力します(最後の括弧を除きます)。

そうです、今作成したコードをすべて入力する必要はなく、マクロの名前だけを入力すればいいのです。

Sub ChangeSocietyName()'' ChangeSocietyName Macro' Rename Society for the Preservation of Antique Dental Appliances' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "Society for the Preservation of Antique Dental Appliances" .Replacement.Text = "Dental Antiques Preservation League" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll ClearFindReplace End Sub

WordがChangeSocietyNameを実行すると、まず元の検索と置換の関数が実行されます。そして、ClearFindReplaceを2つ目のマクロを実行するコマンドとして解釈します。

vbaのさらなる発展

このように、Wordのマクロ記録機能は、数え切れないほどの時間を節約するのに役立ちます。また、Visualbasicエディター上で、マクロの調整、マクロの埋め込み、複数のマクロを1つずつ実行するサブルーチンの作成が可能で、ほとんどすべての操作を自動化することができます。

VBAは高度なプログラミング言語なので、変数、ループ、条件文などを使って、サブルーチンをより大きなアプリケーションに統合することができます。WordでVBAの基本を学んだら、microsoftexcelやAccessでマクロを作成できるようになります。

さらに上を目指すには、VBAの規約やビジュアルベーシックエディタについて、例えばコードの整理の仕方やバグの対処法などを知る必要がありますが、ここで紹介した簡単な関数にこだわるだけでも、かなりの生産性を確保することが可能です。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ