プロが教える店舗&オフィスのセキュリティ対策術

ワードを使用した特定かつ複数の文字の変換→置き換えについて

みなさま、お世話になります。お知恵を拝借させてください。

今、万葉仮名(ひらがな部分が全部漢字)を使った文章(いわゆる神社の祝詞)を入力しています。
万葉仮名とは、あ→阿 い→以 という、一定の読み変えルールがあるもので、たとえば「本を読む」という場合は、「本乎読牟」となります。

これをワードに入力するのですが、一つ一つ送り仮名を漢字で入力するのはすごく大変なので、一度普通に入力してから、一括で別表を参照しに行って読み替えさせるということをしたいのです。

どうするのがいいでしょうか?

MSAccessの知識はありますが、MSAccess自体は買わないとパソコンにインストールされていません。また、祝詞(のりと)作成支援の「青空」というフリーソフトを見つけたのですが、Win7では稼働しませんでした。 

お知恵を拝借できれば幸いです。

A 回答 (3件)

Win7 は、RunTime が入っていないからだと思いますが、このようなマクロでいかがですか?


本来、標準モジュール(挿入--標準モジュール)に入れて使いますが、ThisDocument モジュールでも可能です。祝詞作成ツールのAozora97.mdb を抜き出して、MS-Wordマクロにしました。ひらがなに関しては、その指定の漢字に置換されます。カタカナは変換されません。記録マクロでは無理だろうと思いますが、以下のマクロは、数回程度で、十分に検証されたものではありません。Findメソッドのプロパティの調整が必要かもしれません。

'//
Private Const Hira As String = "ぁ,あ,ぃ,い,ぅ,う,ぇ,え,ぉ,お,か,が,き,ぎ,く,ぐ,け,げ,こ,ご,さ,ざ,し,じ,す,ず,せ,ぜ,そ,ぞ,た,だ,ち,ぢ,っ,つ,づ,て,で,と,ど,な,に,ぬ,ね,の,は,ば,ぱ,ひ,び,ぴ,ふ,ぶ,ぷ,へ,べ,ぺ,ほ,ぼ,ぽ,ま,み,む,め,も,ゃ,や,ゅ,ゆ,ょ,よ,ら,り,る,れ,ろ,ゎ,わ,ゐ,ゑ,を,ん"
Private Const Kan As String = "会,会,伊,伊,宇,宇,衣,衣,乎,乎,可,賀,伎,祇,久,具,介,外,戸,呉,左,坐,志,自,須,逗,世,是,曽,沿,多,陀,知,自,津,都,豆,手,出,刀,奴,奈,尓,奴,祢,乃,波,婆,覇,比,美,否,夫,武,符,辺,部,箆,保,簿,歩,麻,美,牟,芽,母,也,弥,由,愈,余,予,良,里,留,礼,呂,我,我,異,枝,乎,吽"

Public Sub prcAozoraReplace()
'青空(Aozora)を参考
Dim doc As Document
Dim rngFind As Range
Dim arSearch As Variant
Dim arRepl As Variant
Dim i As Long
arSearch = Split(Hira, ",")
arRepl = Split(Kan, ",")
If UBound(arSearch) > UBound(arRepl) Then
 MsgBox "設定が間違っています", vbExclamation
 Exit Sub
End If
Set doc = ActiveDocument
Application.ScreenUpdating = False
If Len(doc.Range.Text) < 2 Or Not doc.Range.Text Like "*[ぁ-ん]*" Then
  Set doc = Nothing
  Exit Sub
End If
For i = LBound(arSearch) To UBound(arSearch)
 With doc.Content.Find
  .ClearFormatting
  .Wrap = wdFindStop
  .Text = arSearch(i)
  .MatchByte = False
  .MatchCase = True
  .MatchWholeWord = False
  .MatchWildcards = False
  .MatchFuzzy = False
  With .Replacement
   .ClearFormatting
   .Text = arRepl(i)
  End With
  .Execute Replace:=wdReplaceAll
 End With
Next
Application.ScreenUpdating = True
Set doc = Nothing
MsgBox "終了しました。", vbInformation
End Sub
    • good
    • 0
この回答へのお礼

できました!!!
まさか青空まで見に行ってくださるとは思いませんでした。
すごい感激・・・本当に心から感謝します。

他のご回答くださった皆さんも、どうもありがとうございました。

お礼日時:2010/09/21 16:42

#1さんの



>全部平文で作成した後、「編集」メニューの「置換」から、
>あ→阿で、全文置換する。ひらがな全部について繰り返す。

の部分をマクロとして記録(開発→マクロの記録→(置換作業)→記録終了)。

あとはマクロを実行すれば変換されます。

この回答への補足

質問者です。
ご回答本当にありがとうございます。

マクロの記録の部分ですが、これを行うには一度は、「あ→阿」で置き換え、「い→以」で置き換え・・と全ひらがなを網羅して、記録の終了をすれば次回以降使えるマクロができるという理解でよろしいでしょうか?

集中しないと、途中で動作を間違えたらとても悲しいことになりそうです(笑)

補足日時:2010/09/21 15:42
    • good
    • 0
この回答へのお礼

ごめんなさい、初めて質問したので、お礼ボタンを押し忘れました。
昨日は本当にありがとうございました!

お礼日時:2010/09/22 14:49

全部平文で作成した後、「編集」メニューの「置換」から、


あ→阿で、全文置換する。ひらがな全部について繰り返す。
これはめんどうなので、
単語登録しておくのはどうですか?阿をよみ「あ」で単語登録します。
48個登録しなければならないので、ちょっとした作業かもしれませんが、祝詞作成のとき即時に変換できます。
    • good
    • 0
この回答へのお礼

ごめんなさい、初めて質問したので、お礼ボタンを押し忘れました。
最初にお返事をくださって、すごくうれしかったです。
ありがとうございました。

お礼日時:2010/09/22 14:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!