Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


390 / 886 ←次へ | 前へ→

【510】Re:選択範囲の文字を検索したい
回答  H. C. Shinopy  - 06/11/1(水) 21:05 -

引用なし
パスワード
   「myText = Selection.Range.Text」でマクロ処理上の問題は解決します。
しかし、実際に使う上で問題になるのが起動方法です。

メニューバーの[ツール]から[マクロ]を選んで…というのは、
手間が掛かかって面倒です。

こうした作業が頻発するのでしたら、
マクロ起動用のボタンをツールバーに追加すると便利です。

1.メニューバーの[ツール]をクリックし、[ユーザー設定…]を選ぶ。
2.[ユーザー設定]ダイアログボックスの[コマンド]タブを選ぶ。
3.[コマンド]タブの中の左側 [分類]の「マクロ」をクリックする。
4.右側の[コマンド]の中から[MySearch]あるいは[Macro15]を探す。
5.[MySearch]あるいは[Macro15]をクリックして選び、
これをツールバー上(の御自分の好きな位置)にドラッグする。
  (ドラッグ&ドロップする)
→マクロ起動用のボタンがツールバー上にできる。
6.[閉じる]ボタンを押す。

これで、文字列を選択後、ツールバーのボタンを押すだけで、
マクロを実行することができます。

Sub MySearch()
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 選択文字列一回検索処理
 Rem 記録者:
 Rem 言語:Word VBA
 Rem 機能:選択した文字列を検索する。
 Rem 注記...
 Rem  MySearchを起動して使用。
 Rem  Officeアシスタント(モードレス表示)による検索実行。
 Rem 第1版:2006/11/01:作成。
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Assistant.Visible = True
 '
 With Assistant.NewBalloon
  .Animation = msoAnimationIdle
  .BalloonType = msoBalloonTypeButtons
  .Icon = msoIconAlertQuery
  .Button = msoButtonSetSearchClose
  .Heading = "選択 文字列" & vbCr & "検索 処理"
  .Text = "選択して下さい。"
  ' .Labels(1).Text = "あああ"
  .Mode = msoModeModeless
  .Callback = "MySearchBttn"
  .Show
 End With
End Sub ' MySearch *----*----*  *----*----*  *----*----*  *----*----*

Sub MySearchBttn(blln As Balloon, bttn As Long, bllnID As Long)
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 各ボタン処理
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 If bttn = msoBalloonButtonClose Then ' [閉じる]ボタン時
  blln.Close
  Assistant.Visible = False
  Exit Sub
 End If
 '
 If Selection.Range.Text = "" Then
  MsgBox "文字列が選択されていません。"
  If Tasks.Exists(Name:="Microsoft Word") = True Then
   Tasks("Microsoft Word").Activate
  End If
  Exit Sub
 End If
 '
 'Assistant.Visible = True
 Select Case bttn
  Case msoBalloonButtonSearch
   Call Macro15
 End Select

 '
' If Tasks.Exists(Name:="Microsoft Word") = True Then
'  Tasks("Microsoft Word").Activate
' End If
  ' Assistant.Visible = True
End Sub ' MySearchBttn *----*----*  *----*----*  *----*----*  *----*----*

Sub Macro15()
 ' Macro15 Macro
 ' 記録日 2006/10/31 記録者
 ' 「myText」・Officeアシスタントに係る部分を追加しました。
 ' *----*----*  *----*----*  *----*----*  *----*----*
 Dim myText As String
 '
 myText = Selection.Range.Text
 '
 ' *----*----* Selection.Copy
 Selection.Find.ClearFormatting
 With Selection.Find
  .Text = myText ' *----*----* "aaa"
  .Replacement.Text = ""
  .Forward = False ' 文書の末尾から先頭へ検索
  .Wrap = wdFindAsk
  .Format = False
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False
  .MatchWildcards = False
  .MatchFuzzy = True
 End With
 '
 If Tasks.Exists(Name:="Microsoft Word") = True Then
  Tasks("Microsoft Word").Activate
 End If
 '
 Selection.Find.Execute
End Sub
2,451 hits

【509】選択範囲の文字を検索したい ぱんくろうママ 06/10/31(火) 23:56 質問[未読]
【510】Re:選択範囲の文字を検索したい H. C. Shinopy 06/11/1(水) 21:05 回答[未読]
【513】Re:選択範囲の文字を検索したい H. C. Shinopy 06/11/3(金) 23:32 回答[未読]
【515】ありがとうございました ぱんくろうママ 06/11/6(月) 1:03 お礼[未読]

390 / 886 ←次へ | 前へ→
ページ:  ┃  記事番号:
207137
(SS)C-BOARD v3.8 is Free