人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【至急】PowerPointで正規表現マッチした部分に色を付けたい【お願い】

PowerPoint 2007のドキュメントで、正規表現に一致する部分のフォントに色を付けたいと考えています。たとえば、黒い四角で始まって白い四角で終わる最短マッチ、"■[^□]□" に対して、赤いフォントを適用する、などです。

今のところできているコードをコメント欄に書き込みます。正規表現パターンにヒットすることまでは確認できましたが、ヒットした後、ヒットした場所にフォントの色を設定する方法がわかりません。

どのようなコードを書けばいいでしょうか。まったく新しいコードでこの問題を解決できる場合は、流用せずに新規のコードを教えてください。よろしくお願いします。ヒットした文字列を取り出して、通常の検索にかけて範囲選択してフォントの色を変えるのでしょうか・・・


●質問者: にぎたま
●カテゴリ:ウェブ制作
○ 状態 :キャンセル
└ 回答数 : 0/0件

▽最新の回答へ

質問者から

Sub main()
Dim RegExp As Object '正規表現オブジェクト
Dim osld As Slide 'スライド
Dim oshp As Shape 'シェイプ
Dim strInput As String '検索対象文字列
Dim b_found As Boolean 'ヒット成否

'正規表現のオブジェクトを生成してパターンをセット
Set RegExp = CreateObject("vbscript.regexp")
With RegExp
.Global = True
.Pattern = "■[^□]□"
End With

'プレゼンテーションの各スライドをループ
For Each osld In ActivePresentation.Slides
'スライド内の各シェイプをループ
For Each oshp In osld.Shapes
'シェイプにテキストフレームがあり
If oshp.HasTextFrame Then
'さらにテキストが含まれている場合
If oshp.TextFrame.HasText Then
'そのテキストを検索対象文字列にセット
strInput = oshp.TextFrame.TextRange.Text
'検索対象文字列にパターンが含まれるかどうか
b_found = RegExp.test(strInput)
'含まれる場合
If b_found = True Then
'★ヒットした部分を範囲選択して色を付けたい!★
End If
End If
End If

Next oshp
Next osld
End Sub


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ