当サイトの記事にはプロモーションが含まれています。

Word VBAでSelection.Startを使いこなす!初心者でもわかる使い方ガイド

パソコンパソコン・スマホ教室
スポンサーリンク

Word VBAを使って文書を自動化したいけれど、どこから始めれば良いか分からない…。そんな方におすすめなのが、`Selection.Start`プロパティです。これを使うことで、カーソルの位置を正確に把握したり、特定の位置からテキストを操作したりすることができます。

今回は、初心者の方でも理解しやすいように、Selection.Startの基本から応用までを、実際の例を交えてわかりやすく解説します。

スポンサーリンク

Selection.Startとは?

Wordのイメージ

Wordのイメージ

`Selection.Start`は、Word文書内で現在選択されているテキストの「開始位置」を示すプロパティです。具体的には、文書の先頭から現在の選択範囲の先頭までの文字数を返します。

例えば、文書の先頭から「こんにちは、世界!」というテキストがあった場合、「こんにちは、」の部分が選択されていると、`Selection.Start`はその位置を示す数値を返します。

Selection.Startの基本的な使い方

では、実際に`Selection.Start`を使ってみましょう。

  1. Wordを開き、VBAエディタを起動します。
  2. 新しいモジュールを挿入し、以下のコードを入力します。
Sub ShowSelectionStart()
MsgBox "選択範囲の開始位置は " & Selection.Start & " 文字目です。"
End Sub

このコードを実行すると、現在選択されているテキストの開始位置がポップアップで表示されます。

Selection.Startを使った実践的な例

次に、`Selection.Start`を使って実際の文書を操作してみましょう。

例1: 選択範囲の長さを求める

Sub ShowSelectionLength()
Dim length As Long
length = Selection.End - Selection.Start
MsgBox "選択範囲の長さは " & length & " 文字です。"
End Sub

このコードでは、選択範囲の終了位置(`Selection.End`)から開始位置(`Selection.Start`)を引くことで、選択されているテキストの長さを求めています。

例2: 特定の位置からテキストを挿入する

Sub InsertTextAtStart()
Selection.Start = 5 ' 開始位置を5文字目に設定
Selection.End = 5 ' 終了位置も5文字目に設定
Selection.TypeText "Hello " ' その位置にテキストを挿入
End Sub

このコードでは、文書の5文字目の位置に「Hello 」というテキストを挿入しています。

例3: 範囲を指定してテキストを操作する

Sub FormatTextInRange()
Dim rng As Range
Set rng = ActiveDocument.Range(Start:=10, End:=20)
rng.Font.Bold = True ' 10文字目から20文字目までを太字にする
End Sub

このコードでは、文書の10文字目から20文字目までの範囲を取得し、その範囲内のテキストを太字にしています。

Selection.Startを使う際の注意点

`Selection.Start`を使用する際には、以下の点に注意してください。

ここがポイント!

  • カーソルの位置に依存する: `Selection.Start`は現在のカーソルの位置を基準にするため、カーソルが移動すると値も変わります。
  • 選択範囲が必要: テキストを操作する前に、対象となる範囲を選択しておく必要があります。
  • 範囲を変更する際の注意: `Selection.Start`や`Selection.End`を直接変更することで、選択範囲を変更できますが、文書の構造によっては予期しない動作をすることがあります。

よくある質問や疑問

質問1: Selection.StartとSelection.Endの違いは何ですか?

`Selection.Start`は選択範囲の開始位置を示し、`Selection.End`は終了位置を示します。これらを組み合わせることで、選択範囲の開始位置から終了位置までの範囲を指定できます。

質問2: Selection.Startを使ってテキストを削除することはできますか?

はい、できます。例えば、以下のようにコードを書くことで、選択範囲のテキストを削除できます。

Sub DeleteSelectedText()
Selection.Delete
End Sub

質問3: Selection.Startを使って文書の特定の位置にカーソルを移動することはできますか?

はい、できます。以下のコードで、文書の10文字目の位置にカーソルを移動できます。

Sub MoveCursorToStart()
Selection.Start = 10
Selection.End = 10
End Sub

まとめ

`Selection.Start`は、Word VBAで文書を操作する際に非常に便利なプロパティです。これを使いこなすことで、カーソルの位置を正確に把握したり、特定の位置からテキストを操作したりすることができます。

初心者の方でも、実際にコードを書いて試してみることで、より理解が深まると思います。ぜひ、いろいろなシナリオで`Selection.Start`を活用してみてください。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました