Word VBA質問箱 IV

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

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


10 / 308 ツリー ←次へ | 前へ→

【879】VBAでできること/できないこと すちぶろん 19/6/13(木) 0:38 質問[未読]
【880】Re:VBAでできること/できないこと マナ 19/6/13(木) 17:46 発言[未読]
【881】Re:VBAでできること/できないこと マナ 19/6/13(木) 21:52 発言[未読]
【882】Re:VBAでできること/できないこと すちぶろん 19/6/14(金) 6:51 お礼[未読]

【879】VBAでできること/できないこと
質問  すちぶろん  - 19/6/13(木) 0:38 -

引用なし
パスワード
   お世話になります。VBA未経験なのですが、
Wordで頻繁に行っている表記ゆれの統一作業を簡素化したく、
勉強を始めようと思っています。

次の(1)(2)(3)の各目標は、
WordやExcelでマクロできるのでしょうか。

できること/できないことを教えていただけると嬉しいです。
よろしくお願いいたします。


(1) 最低限の目標

・Wordファイルの文章から
 事前に登録した複数の単語を自動カウントし、
 カウントの少ない単語を、多い単語に自動置換する。
 置換結果が分かるよう、変更履歴を付けたい。

・例えば、次の4単語を登録します。
 「よろしく」「宜しく」
 「コンピューター」「コンピュータ」

 文章中の「よろしく」と「宜しく」を自動カウントし、
 「よろしく」が15個で、「宜しく」が7個だった場合、
 少ないほうの「宜しく」を「よろしく」に自動で置換。

 同時に「コンピューター」と「コンピュータ」も
 自動カウントし、同様の置換処理をさせる。


(2) できれば行いたい目標

・上記(1)に加えて、4単語のカウント結果
 (文章中に何回使われていたか)を数字で表示する。

・例えば、次のような表示を出せるか。
  「よろしく」   15個
  「宜しく」     7個
  「コンピューター」 6個
  「コンピュータ」 12個


(3) 理想的な目標

・上記(1)のように少ないほうを置換すると決めつけずに、
 上記(2)のカウント結果を見たうえで、
 どちらの用語を置換させるか選択できるようにする。

・例えば、(2)のカウント結果を見たうえで、
 前者については、
 数の少ない「宜しく」から「よろしく」に置換させ、
 後者については、
 数の多い「コンピュータ」から
 「コンピューター」に置換させるよう選択する。

【880】Re:VBAでできること/できないこと
発言  マナ  - 19/6/13(木) 17:46 -

引用なし
パスワード
   ▼すちぶろん さん:

>できること/できないことを教えていただけると嬉しいです。

>
>(1) 最低限の目標

できると思います。

>(2) できれば行いたい目標

できると思います。

>(3) 理想的な目標

できると思います。
でも、コンピューターのほうは「あいまい検索」で、
1個ずつ確認しながら置換ではだめなのでしょうか。

【881】Re:VBAでできること/できないこと
発言  マナ  - 19/6/13(木) 21:52 -

引用なし
パスワード
   ▼すちぶろん さん:

単語をカウントする関数です。

Sub test()
  Dim txt As String
  Dim n1 As Long
  Dim n2 As Long
  
  txt = ActiveDocument.Range.Text
  
  n1 = CountWord(txt, "コンピュータ")
  n2 = CountWord(txt, "コンピューター")
  
  MsgBox n1 - n2
  
End Sub


Function CountWord(txt As String, wd As String) As Long
  Dim s
  
  s = Split(txt, wd)
  CountWord = UBound(s)
  
End Function

【882】Re:VBAでできること/できないこと
お礼  すちぶろん  - 19/6/14(金) 6:51 -

引用なし
パスワード
   ▼マナ さん:

できることの見立てと、
単語をカウントする関数まで、
ご教示ありがとうございます。

やりたいことがVBAでできそうということで、
いただいた関数をヒントに
勉強を進めてみます!

本当にありがとうございます。

>でも、コンピューターのほうは「あいまい検索」で、
>1個ずつ確認しながら置換ではだめなのでしょうか。

おっしゃるとおり、今はいろいろな検索や
表記ゆれチェック機能などを使いながら、
Word書類を校閲しています。

例では「よろしく」「コンピューター」の2組を挙げましたが、
実際には、25組ほどの単語を、
毎日5〜10通の書類でチェックしていまして、
少しでも簡略化できればなぁ、と思っている次第です。

質問させていただき、VBAに前向きになれました。
重ねてお礼申し上げます。ありがとうございます!

10 / 308 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
207156
(SS)C-BOARD v3.8 is Free