Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAのSelection.Shrinkはフォントではなく選択範囲を縮小するメソッド

Word VBAのSelection.Shrinkはフォントではなく選択範囲を縮小するメソッド

動作検証バージョン:Windows 11 Home + 64bit Word バージョン 2409(ビルド18015.20000クイック実行)ベータチャネル

拙著『Excel VBAユーザーのためのWord VBA入門(1): Document・Range・Selectionの基本編』の「4-3. WordのFontはメソッドも持つ」で、FontオブジェクトのShrinkメソッドを紹介しています。

「Shrink」という名前のメソッドは、Font以外のオブジェクトにも用意されています。

SelectionにもShrinkメソッドがある

Word文書上の選択範囲やカーソル位置を表すSelectionオブジェクトにも、Shrinkメソッドがあります。

上図はオブジェクトブラウザーで「Shrink」を完全一致検索した状態です。

ただし、Selection.ShrinkはFont.Shrinkとはまったく異なる挙動をするメソッドであるため注意が必要です。

Font.Shrinkメソッドを知っていると、Selection.Shrinkでも文字列のサイズが小さくなるような気がするかもしれませんが、違います。

Selection.Shrinkの挙動を確認する

Selection.Shrinkは、文字列のサイズを小さくするのではなく、選択範囲を狭くするメソッドです。

Selection.Shrinkのヘルプには、以下の記述があります。

次に小さな文字列要素まで選択範囲を縮小します。

「次に小さな文字列要素まで」といわれても、何が小さな文字列要素なのかがわかり辛いので、テストしてみることをおすすめします。

▼操作手順:Selection.Shrinkの挙動を確認する
サンプルの文章を入力するためにWord文書上で
  =rand(2, 3)
と入力後[Enter]キーを押す
 ↓
ショートカットキー[Ctrl]+[A]を押して「=rand(2, 3)」で入力されたサンプルを選択する
 ↓
VBEを起動してイミディエイトウィンドウで
  Selection.Shrink
を実行する

「=rand(2, 3)」と入力後に[Enter]キーを押すと、以下のような2つの段落で、それぞれに段落に3つの文が含まれるサンプルの文章が入力されます。

ビデオを使うと、伝えたい内容を明確に表現できます。[オンライン ビデオ] をクリックすると、追加したいビデオを、それに応じた埋め込みコードの形式で貼り付けできるようになります。キーワードを入力して、文書に最適なビデオをオンラインで検索することもできます。
Word に用意されているヘッダー、フッター、表紙、テキスト ボックス デザインを組み合わせると、プロのようなできばえの文書を作成できます。たとえば、一致する表紙、ヘッダー、サイドバーを追加できます。[挿入] をクリックしてから、それぞれのギャラリーで目的の要素を選んでください。

ショートカットキー[Ctrl]+[A]を押して上記のサンプルを選択しておいてから、VBEで「Selection.Shrink」を実行すると、1つ目の段落

ビデオを使うと、伝えたい内容を明確に表現できます。[オンライン ビデオ] をクリックすると、追加したいビデオを、それに応じた埋め込みコードの形式で貼り付けできるようになります。キーワードを入力して、文書に最適なビデオをオンラインで検索することもできます。

だけが選択された状態になります。

もう一度「Selection.Shrink」を実行すると、1つ目の段落の1つ目の文

ビデオを使うと、伝えたい内容を明確に表現できます。

だけが選択された状態になります。

つづいて「Selection.Shrink」を実行すると、1つ目の段落の1つ目の文の1つ目の語句である

ビデオ

だけが選択されます。

更に「Selection.Shrink」を実行すると、選択されていた「ビデオ」の前にカーソルが置かれた状態になります。

これがヘルプに書かれている「次に小さな文字列要素まで」選択される様子です。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAのSelection.Shrinkはフォントではなく選択範囲を縮小するメソッド

「Selection」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.