マクロに全幅の線を追加する(Microsoft Word)
ドキュメントを入力するとき、Drewは3つのダッシュを入力でき、Enterキーを押すと、Wordはダッシュを全幅の行に変換します。彼は、マクロ内でこれをどのように行うことができるのか疑問に思います。
3つのダッシュを全幅の線に変換するWordの機能は、オートフォーマットです。これは、入力時にバックグラウンドで行われることの1つにすぎません。Wordは、入力した文字と実行したアクションを継続的に分析し、変換を自動的に実行することで「支援」します。この場合、改行で3つのダッシュを入力し、Enterキーを押すだけです。全幅線への変換はすぐに行われます。
AutoFormatがこれをどのように行うかは、実際には少し興味深いものです。マクロを記録してオートフォーマットの機能を確認できると思うかもしれませんが、できません。マクロレコーダをオンにして3つのダッシュを入力し、Enterキーを押すと、オートフォーマットはまったく何もしません。ダッシュは残り、線は表示されません。
したがって、何が起こっているのかを理解するために別の探偵方法を使用することは役に立ちます。私がしたことは、新しいドキュメントを開いて、印刷されない文字が表示されていることを確認することでした。 (これは、段落記号(ハードリターン)がドキュメント内のどこにあるかを確認するために必要です。)次に、段落を参照できるようにいくつかの数字を入力しましたが、中央に「空の」段落があることを確認しました。 (図1を参照)
図1.オートフォーマットテストのセットアップ。
空の段落(段落4と5の間)は、オートフォーマットをテストするために3つのダッシュを入力する場所です。それらを入力してEnterキーを押すと、結果は段落4に下線が表示されます(図2を参照)
図2.AutoFormatによって追加された下線。
下線が段落4にあることは、その行に挿入ポイントを置き、[境界線と網かけ]ダイアログボックスを表示することでわかります。他の行に挿入ポイントを含むダイアログボックスを表示する場合、境界線はありません。段落4のみです。
次に、段落7と段落8の間に空の段落を追加して、3つのアンダースコアを入力してEnterキーを押したときにAutoFormatがどのように機能するかを確認しました。私がこれをしたとき、前に述べたのとまったく同じことが起こりました。唯一の違いは、段落7に追加された境界線が、段落4に追加された境界線よりも重い(太い)ことでした(図3を参照)
図3.3つのアンダースコアを入力して追加された下線。
したがって、3つのダッシュと3つのアンダースコアを入力すると、前の段落に境界線が追加されます(ダッシュまたはアンダースコアのある段落が削除された後)。唯一の違いはアンダースコアの重みです。さらに、上記のインスタンスの[境界線と網かけ]ダイアログボックスをよく見ると、3つのダッシュを入力すると、オートフォーマットは0.75ポイントの境界線幅を使用し、3つのアンダースコアを入力すると、1.50の境界線幅を使用することがわかります。ポイント。
この動作をマクロで複製するのは比較的簡単です。実際に3つのダッシュまたはアンダースコアを追加してから、それらとその段落を削除する必要はありません。それは不必要でしょう。代わりに、マクロは単に前の段落に移動して、その段落の下枠を設定できます。
Sub BottomBorder() Selection.MoveUp Unit:=wdParagraph, Count:=1 With Selection.Borders(wdBorderBottom) .LineStyle = wdLineStyleSingle .LineWidth = wdLineWidth075pt .Color = wdColorAutomatic End With End Sub
3つのアンダースコアを入力してEnterキーを押したときのオートフォーマットの動作を模倣する場合は、上記のマクロのwdLineWidth075pt列挙をwdLineWidth150ptに変更するだけです。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(13537)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice365のWordに適用されます。