カスタム検索
リボン関連

文字列をハイライト表示するWordテンプレート

文字列をハイライト表示する(Word 2007以降)」で紹介したコードを使って、クイックアクセスツールバー上で入力した文字列をハイライト表示するテンプレートを作成しました。

※ このテンプレートはマクロを使用していますが、全文書対象のテンプレート(Normal.dot、Normal.dotm)ファイルには変更を加えません。
※ このテンプレートの機能強化版はコチラ
※ Word 2003用の強調表示テンプレートはコチラ

文字列をハイライト表示するWordテンプレート

 

このテンプレート(QATHitHighlight.dotm)ファイルをWordのスタートアップフォルダにコピーして(スタートアップフォルダを開く際は「Wordのスタートアップフォルダを開く(VBS)」で紹介しているスクリプトが便利です)Wordを起動すると、クイックアクセスツールバーに文字列を入力するテキストボックスとハイライトクリア用のボタンが表示されます(テンプレートが不要になった場合はスタートアップフォルダからQATHitHighlight.dotmファイルを削除してください)。

このテキストボックスにハイライト表示したい文字列を入力しEnterキーを押すと、文章内にある入力した文字列がハイライト表示されます。

文字列ハイライトクリア」ボタンをクリックすると、ハイライト表示がクリアされます。
※ ハイライト表示をしても文字色と文字の背景色が変更されるわけではありません。
※ クイックアクセスツールバーのショートカットキー(ALTキー + 数字キー)で操作をすると、効率良くハイライト表示できます。

 

Sponsored Links

 

このテンプレートで使用しているコードは下記の通りで、クイックアクセスツールバーへの登録は「クイックアクセスツールバーのボタンイメージを好きな画像にする(2)」で紹介した方法で行っています。
※ リボンXMLの編集方法については「Office Ribbon Editorの紹介」「SharpDevelopでリボンXMLを編集する」等のページを参照してください。

[標準モジュール]

Option Explicit

Public Sub editBox_onChange(control As IRibbonControl, text As String)
  If Len(Trim$(text)) < 1 Then Exit Sub
  With ActiveDocument.Content.Find
    .ClearHitHighlight
    .HitHighlight text, wdColorYellow, wdColorRed
  End With
End Sub

Public Sub button_onAction(control As IRibbonControl)
  ActiveDocument.Content.Find.ClearHitHighlight
End Sub
[リボンXML]
<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab id="tabHitHighlight" label="HitHighlight" visible="false">
        <group id="grpHitHighlight" label="HitHighlight">
          <editBox id="edtHitHighlight" sizeString="wwwwwwwwww" onChange="editBox_onChange" screentip="文字列ハイライト表示" supertip="ここに入力した文字列をハイライト表示します。" />
          <button id="btnClearHitHighlight" label="ClearHitHighlight" size="normal" imageMso="Clear" onAction="button_onAction" screentip="文字列ハイライトクリア" supertip="文字列のハイライト表示をクリアします。" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>