
ワードを使用した特定かつ複数の文字の変換→置き換えについて
みなさま、お世話になります。お知恵を拝借させてください。
今、万葉仮名(ひらがな部分が全部漢字)を使った文章(いわゆる神社の祝詞)を入力しています。
万葉仮名とは、あ→阿 い→以 という、一定の読み変えルールがあるもので、たとえば「本を読む」という場合は、「本乎読牟」となります。
これをワードに入力するのですが、一つ一つ送り仮名を漢字で入力するのはすごく大変なので、一度普通に入力してから、一括で別表を参照しに行って読み替えさせるということをしたいのです。
どうするのがいいでしょうか?
MSAccessの知識はありますが、MSAccess自体は買わないとパソコンにインストールされていません。また、祝詞(のりと)作成支援の「青空」というフリーソフトを見つけたのですが、Win7では稼働しませんでした。
お知恵を拝借できれば幸いです。
No.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
できました!!!
まさか青空まで見に行ってくださるとは思いませんでした。
すごい感激・・・本当に心から感謝します。
他のご回答くださった皆さんも、どうもありがとうございました。
No.2
- 回答日時:
#1さんの
>全部平文で作成した後、「編集」メニューの「置換」から、
>あ→阿で、全文置換する。ひらがな全部について繰り返す。
の部分をマクロとして記録(開発→マクロの記録→(置換作業)→記録終了)。
あとはマクロを実行すれば変換されます。
この回答への補足
質問者です。
ご回答本当にありがとうございます。
マクロの記録の部分ですが、これを行うには一度は、「あ→阿」で置き換え、「い→以」で置き換え・・と全ひらがなを網羅して、記録の終了をすれば次回以降使えるマクロができるという理解でよろしいでしょうか?
集中しないと、途中で動作を間違えたらとても悲しいことになりそうです(笑)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleスプレッドシートでワイ...
-
正規表現で完全一致したキーワ...
-
正規表現で最初にマッチしたも...
-
秀丸で置換かマクロで括弧をと...
-
ファイル名を特定の文字までを...
-
IME 郵便番号辞書 で 都道府...
-
【正規表現に詳しい方】ダブル...
-
PS4コントローラーをPCでゲーム...
-
エクセルでアルファベットか数...
-
【エクセル】セル最後にある無...
-
Microsoft365で作ったword文書...
-
Chr(13)とChr(10)の違いは?
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
Accessのテーブルからcsv出力す...
-
4Kの外部モニターに出力すると...
-
プログラムについての質問です...
-
「彡」って文字はなんという文...
-
パワーポイントのテキストボックス
-
wordで均等割り付けをするとき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleスプレッドシートでワイ...
-
正規表現で最初にマッチしたも...
-
正規表現で完全一致したキーワ...
-
TeraPadでの置換方法
-
ファイル名を特定の文字までを...
-
(*)を_【*】に一括変換したいの...
-
ファイル名に空白がある時、一...
-
《》で囲まれた文字をすべて削...
-
IME 郵便番号辞書 で 都道府...
-
【正規表現に詳しい方】ダブル...
-
タグを一度に消去したい
-
文字の置換のソフトを探してい...
-
Flexible Renamerの正規表現に...
-
テキストエディタで各行を二重...
-
Flexible Renamerの検索と置換...
-
CSVファイルの文字列を置換...
-
秀丸エディターのマクロ
-
秀丸のマクロで
-
EmEditorでの置換方法
-
txtファイルの複数行の特定の文...
おすすめ情報