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

WORDのVBAの質問です
1.WORDのVBAで特定の文字(□)が使われている数を計算するマクロを教えてください。
2.例えば”レ”カタカナのレで囲み線で囲んである文字だけマクロで数えることは可能ですか?

●質問者: garyo
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:VBA Word カタカナ マクロ 計算
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ardarim
●50ポイント ベストアンサー

こんな感じでどうでしょうか。

Sub test()
 
 Dim n As Integer
 
 n = CountChars("□", False)
 MsgBox """ロ""の数" & vbCrLf & n
 
 n = CountChars("レ", True)
 MsgBox "囲み線で囲われた""レ""の数" & vbCrLf & n

End Sub

Function CountChars(ByVal text As String, ByVal onlyBoxed As Boolean) As Integer

 Dim n As Integer
 Dim objRange As Range
 
 Set objRange = ThisDocument.Range
 
 objRange.Find.Forward = True
 objRange.Find.text = text
 
 n = 0
 Do While True
 objRange.Find.Execute
 If objRange.Find.Found Then
 If Not onlyBoxed Or objRange.Font.Borders(1).LineStyle = wdLineStyleSingle Then
 n = n + 1
 End If
 Else
 Exit Do
 End If
 Loop

 CountChars = n

End Function

参考

Word ドキュメントで二重の角かっこ内のすべての単語を検索する方法はありますか

◎質問者からの返答

ありがとうございます。ばっちりです。

目的はソフトウエアのチェックリストで以下を数えたかったのでした。

□←未実行のテストケース

囲みレ←OKのテストケース

実績を計算するために数えるのが面倒だったので助かりました。

後は

囲み×←NGのテストケースが出来れば完璧そうです。


2 ● airplant
●50ポイント

VBScriptでできます。

次のコードをxxx.vbsで保存して、カウントしたいWordファイルをxxx.vbsへドラッグしてください。

No.2対応

Option Explicit

Const wdReplaceNone = 0
Dim objWord, objDoc, objSelection, Cnt

Set objWord = CreateObject("Word.Application")
objWord.Visible = True

Set objDoc = objWord.Documents.Open(Wscript.Arguments(0))
Set objSelection = objWord.Selection

With objSelection.Find
 .Text = "□"
' .Font.Borders(1).LineStyle _
' = objWord.Options.DefaultBorderLineStyle
 .Forward = True
 .MatchByte = False

 Cnt = 0
 Do While True
 If .Execute(, , , , , , , , , , wdReplaceNone) Then
 Cnt = Cnt + 1
 Else
 Exit Do
 End If
 Loop
 Wscript.Echo .Text & " : " & Cnt
End With

No.2対応は、Withの下の行を次のように変えてください。

 .Text = "レ"
 .Font.Borders(1).LineStyle _
 = objWord.Options.DefaultBorderLineStyle

●前提

→本当はカウントした後で何か変換をしたいのではないでしょうか?

もしかして、□とレの囲みと同時にチェックしたいのであれば、少し的外れな回答だったかも知れません。

◎質問者からの返答

ありがとうございます。m(__)m

関連質問


●質問をもっと探す●



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