![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんばんは。
別の質問の中で、私が回答していますから、そちらを参考にしたほうが早いかもしれません。
Wordのマクロは、標準的には、当該Document の"ThisDocument" モジュールを使います。
というよりも、Excelは、オブジェクトが多いので、標準モジュールを多用します。
ただ、宗派や版によっても違うかとは思いますが、漢訳法蓮華経の読み下しは、どこかにあったような気がします。
それと、ふりがなとおっしゃっていますが、Wordのルビという前提で出来上がっていますから、違う場合は、正しく出ません。Word Document 上のルビそのものからも、ふりがなデータは取り出すことは可能です。今回は、あくまでも、虫食いを作るためのものです。
http://oshiete1.goo.ne.jp/qa5384755.html
#3
いずれにしても、ふりがなデータのみを抜き出すなら、すでに、Wordを想定した回答が出ていますから、そちらを参照してからにしていただけませんでしょうか。こちらは、括弧の半角のみですが、もうひとつのほうは、全角・半角両方の括弧をサポートするように出来ています。
No.2
- 回答日時:
こんにちは。
>ワードのマクロでできるのか、カッコ付きのテキストから検索置換するのか教えてください。
「保存すると書式なし」→「ほぞん□□□しょしき□□」となることですと、括弧以外の文字に対して、全角空白にして、虫食い形式にすることでしょうか?
本来、ふりがなデータを抜き出してリスト化するのは簡単なのですが、虫食いデータにするのは、なかなか難しいです。特に、元のご質問のような文章ですと、() 付きの文章が交じり合っている場合は、誤動作します。
一旦、テキストに出力して、括弧つき・ふりがなデータだけを残して、全角空白にして、それを再び、Wordに呼び出し、そのWordの表示をスペースが見えるように切り替えるものです。
'-------------------------------------------
Sub PingPickUp()
'フリガナデータの抽出
Dim newDoc As Document
Dim Matches As Object
Dim Match As Object
Dim FNo As Integer
Dim oFno As Integer
Dim TextLine As String
Dim Buf As String
Dim i As Long
Selection.HomeKey Unit:=wdStory
Selection.EndKey Unit:=wdStory, Extend:=wdExtend
If InStr(1, Selection.Text, "(", 1) = 0 Then
MsgBox "フリガナデータがないと思われます。", vbInformation
Exit Sub
End If
On Error GoTo ErrorHandler
Selection.Copy
Set newDoc = Word.Documents.Add
newDoc.Content.Paste
newDoc.SaveAs "$$tmp.txt", wdFormatText
newDoc.Close
With CreateObject("VBScript.RegExp")
.Pattern = "\([^\)]+\)" 'パターン
.Global = True
oFno = FreeFile()
Open "$$otmp.txt" For Output As #oFno
FNo = FreeFile()
Open "$$tmp.txt" For Input As #FNo
Do While Not EOF(FNo)
Line Input #FNo, TextLine
Buf = TextLine
If .Test(Buf) Then
Set Matches = .Execute(Buf)
i = 1
For Each Match In Matches
Mid(Buf, i, Match.firstindex - i + 1) = String(Match.firstindex - i + 1, Chr(&H8140))
'括弧を取る
Buf = Replace(Buf, "(", "", , , 1): Buf = Replace(Buf, ")", "", , , 1)
i = Match.firstindex + Len(Match.Value) + 1
Next
Else
Buf = String(Len(Buf), Chr(&H8140))
End If
Print #oFno, Buf
Buf = ""
Loop
End With
ErrorHandler:
If Err.Number > 0 Then
MsgBox Err.Description
End If
Close #FNo
Kill "$$tmp.txt"
Close #oFno
If Dir("$$otmp.txt") <> "" Then
With Documents.Open("$$otmp.txt")
.Windows(1).View.ShowSpaces = True
End With
End If
End Sub
すごいプログラムありがとうございます。私は初心者ですので、早速標準モジュールの中へコピペしましたが「プロシャージャーの呼び出し、引数が不明」で□□ばかりになりました。
主旨は虫食い形式にはせずに、カッコ内のふりがなデータを抜き出してテキスト化することと、カッコ以外の文字をテキストにしたいのです。
例 妙(みょう)法(ほう)自我得佛來(じ-が-とくぶつらい)…を
「妙法自我得佛來…」と「みょうほうじ-が-とくぶつらい…」にしたいのです。
素人ですが、せっかくワードデータに漢字とふりがながあるのだから、手作業でなく、自動処理したいと頭から湯気がでています。
再度よろしくお願いします。
No.1
- 回答日時:
「保存(ほぞん)すると書式(しょしき)なし」
↓
エクセルシートに貼り付けて
データ→区切り位置 で(を指定したり )を指定したりすれば
取り出すことは可能です。
文章によって分離されたふりがなが入るセルの列が不ぞろいになる場合も多いでしょうから、作業が楽になるかどうかはわかりません。
取り出しが終わったら、不要な文字を削除して
ワードに貼り付けます。
この回答への補足
ありがとうございました。( の区切り位置で下記のように
Iほぞん)すると書式Iしょしき)なし」
ふりがなの所で分かれるので、後は手作業で
ほぞん□しょしき□
としていきます。が文字量が多いので
マクロとかで()かっこかっこの間の文字をとりだして、テキストにすることはできないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Excel(エクセル) エクセルのAltを押すと「自動保存」「上書き保存」・・・に白抜きの「1」「2」・・・が出る。 2 2023/08/11 11:39
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Word(ワード) officeの自動保存について教えてください 2 2023/06/18 09:11
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- au(KDDI) 古いスマホの auSMS のメッセージを保存したい 5 2022/07/13 11:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Word(ワード) LibreOfficeで保存データをMicrosoft Office 2013に変更したい。 2 2022/06/14 23:36
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードで改行すると一行開いて...
-
ワード:右上の小さい文字
-
Ctrl+Shift+C、Ctrl+Shift+Vが...
-
Powerpointで、コピーすると、...
-
エクセルでマイナスの%表示を...
-
エクセル 期日の半年前になる...
-
縦書き日本語入力で( )をこ...
-
Google スプレッドシートを使...
-
ワードで既に使われている色の使用
-
レポート
-
wordの表にテキストをペースト...
-
エクセルで奇数または偶数にだ...
-
CとかRの丸囲い文字、どうや...
-
文字の上に線をつけたい場合
-
Wordで原子番号と質量数
-
パワーポイントで乗数はどうや...
-
英文での借用書書式を教えてく...
-
EXCEL(IF関数)でCE...
-
Excel 条件付き書式 行ごとに...
-
CO2の2を小さく打ちたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードで改行すると一行開いて...
-
ワード:右上の小さい文字
-
Ctrl+Shift+C、Ctrl+Shift+Vが...
-
エクセルでマイナスの%表示を...
-
Powerpointで、コピーすると、...
-
縦書き日本語入力で( )をこ...
-
エクセル 期日の半年前になる...
-
パワーポイントで乗数はどうや...
-
Google スプレッドシートを使...
-
英文での借用書書式を教えてく...
-
CとかRの丸囲い文字、どうや...
-
レポート
-
ワードで既に使われている色の使用
-
ワードの文字の濃さを揃えたい。
-
【EXCEL2002】「貼り付け先の書...
-
エクセルの文字入力で白抜き文...
-
30代です。遺書を作ろうと思っ...
-
wordで縦書きで「あ」に濁点を...
-
エクセルの機能について
-
wordの表にテキストをペースト...
おすすめ情報