odake's web page >> パソコンで楽しむ >> パソコンの「困った!!」助け舟INDEX | 文書編集で同じ手順の繰り返しが多い
同じ手順を何回も繰り返すのは、回数が少ないときは問題ありませんが、多くなると時間がかかるし間違いも出てきます。少し難度が上がりますがマクロ記録を使うと複雑な手順を自動的に実行させることが出来ます。
Microsoft Office には、VBA(Visual Basic for Applications ビジュアルベーシック・フォー・アプリケーションズ)というプログラム言語が用意されています。ユーザーに知識があれば Excel や Word などの操作を自動化したり、独自のフォームを作ったり、アプリケーションの機能をカスタマイズしたりできます。
本格的にVBAを使うには、プログラム言語を理解しなければなりませんが、理解できなくても、アプリケーションを操作する手順をマクロ記録で記録させて置き、必要により実行させることが出来ます。
Wordを起動して[表示]タブをクリックすると右端に[マクロ]グループがあります。[マクロ]コマンドの小さい三角ボタン(▼)をクリックすると、[マクロの表示]{マクロ記録][記録の一時停止]の3つのメニューが表示されます。
[マクロの表示]をクリックすると、[マクロ]ダイアログボックスが表示されます。マクロを作るとここに登録されます。ここでマクロを選んで実行したり、記録されたマクロを編集(修正・変更など)することが出来ます。今は確認だけですので[キャンセル]ボタンをクリックします。
{マクロ記録]をクリックすると、[マクロ記録]ダイアログボックスが開きます。マクロ名は初期値の「Macro1」となっていますが、作成するときには分かり易い名前を付けます。今は確認だけですので[キャンセル]ボタンをクリックします。
[OK]ボタンをクリックして閉じると、マクロ記録が開始して「Macro1」が出来てしまいます。マクロ記録が開始すると文書の編集画面でマウスポインタが変わり、[マクロ]コマンドのメニューの[マクロ記録]が[記録終了]になり、選択できなかった[記録の一時停止]が選択できるようになります。[記録終了]をクリックし、[マクロ記録]ダイアログボックスで「Macro1」を削除しておきます。
ステータスバーの何もないところを右クリックし、メニューの[マクロの記録]をクリックしてチェックを入れます。ステータスバーに小さいアイコンが表示されます。マウスでポイントすると「マクロ記録は現在実行されていません。クリックすると新しいマクロの記録が開始します。」とヒントが表示されます。
このアイコンをクリックすると、前項説明の[マクロ記録]ダイアログボックスが開き設定して[OK]ボタンをクリックするとマクロ記録が開始します。アイコンが小さくなりヒントは「マクロの実行中です。クリックすると記録が停止します。」に変わります。マクロを記録するときは、こちらのボタンを使った方が楽です。
マウスやキーボードの操作を記録してマクロを使うだけなら、[マクロ]と[マクロ記録]ダイアログボックスで間に合いますが、本格的にVBAを使うには、初期値では表示されない[開発]タブを使います。[開発]タブの表示方法は次の通り。
マクロ記録が開始すると、Word上のマウスとキーボード操作がVBAのコードに記録されます。無駄な動きも記録されます。もし間違った場合はコードを編集して削除することが出来ますが、出来るだけ手順を間違わないように事前にマクロに記録する手順を確かめておきます。
最初は単純な操作で試してみます。文字を入力するとか、範囲を選択するなどをマクロで実行するには記録されたコードを編集する必要があります。
例えば、このパソコンで「困った!!」の助け舟の 「w027 WebページをWordのファイルにしたい」の最後の部分の「Wordで編集」で
フォントサイズや文字間隔・行間なども必要により編集し直す必要があります。
とあります。
今見ておられるこのページを、上記ページ(w027.html)の処理をしてWord の文書にすると、本文のフォントサイズは「12」ポイントで、行間は「1.5」行になります。くり色の部分のフォントサイズは「9.5」ポイントです。
この辺は元のWebページの書式(css)とWordで変換するときの仕様によるものと思います。
これをフォントサイズを「10.5」ポイント、行間を「1.15」行に変更するには、(くり色の部分と見出しの部分を避けて、)黒字の部分を選択して、[ホーム]タグでフォントサイズと行間の設定を繰り返す作業になります。
この作業を「範囲を選択してクイックアクセスツールバーのアイコンをクリック」で実行出来るようにマクロを作ってみます。「範囲を選択して」の部分は手作業です。マクロで選択範囲を判断する方法が判らないからです。
以上でフォントサイズと行間を変更するマクロが出来ました。
前項の処理をすると、Wordを起動したときの「文書1」のタイトルバーの左に表示されているクイックアクセスツールバーに、[Normal NewMacroサイズと行間]というボタンが追加されています。ボタンにマウスをポイントするとヒントが表示されます。
試みにフォントサイズ12、と行間1.5の文書を作り、選択してクイックアクセスツールバーの追加されたボタンをクリックすると、フォントサイズ10.5、と行間1.15に変更される筈です。
私が試したところ、フォントサイズが10になりました。他のフォントサイズでは設定どおりになるのですが、10.5だけはどうゆう訳かうまくいきません。
Wordを起動して[表示]タブをクリック、右端の[マクロ]グループの[マクロ]コマンドの小さい三角ボタン(▼)をクリックし、[マクロの表示]をクリックすると、[マクロ]ダイアログボックスが表示されます。
[マクロ]ダイアログボックスの[マクロ名]で、「サイズと行間」を選択し、右側の[編集]ボタンをクリックします。
[Microsoft Visual Basic - Normal]というウインドウが開き、その中の[Normal - NewMacro(コード)]を見ると、「Selection.Font.Size = 10」となっています。Wordで「10.5」を選択してもマクロは「10を選択」と記録しているのです。
「10」を「10.5」に修正して、メニューバーの[ファイル][Normalの上書き保存]をクリックします。
ツールバーの[Normalの上書き保存]をクリック、またはショートカットキーのCtrl + Sでも同じ
マクロ記録で無駄な動きをして余計なコードが入ったときも、このように修正できます。また、マクロの作成に失敗したときには、[マクロ]ダイアログボックスで不要のマクロを削除することが出来ます。マクロを削除してもクイックアクセスツールバーのボタンは削除されないので、不要のボタンを右クリックしてメニューで削除します。
ここで「Nomal」という言葉が多用されていますが、今回は[マクロの保存先]を[すべての文書(Nomal.dotm)]にしておきましたので、Wordを開くと現れる「文書1」で常に使えるマクロになっているためだと思います。
VBAを使いこなせるようになると、パソコンに振り回されるのではなく、「パソコンを使っている」が実感できると思うのですが、ハードルが高いです。