![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
Sub sss()
Dim i As Integer
Dim j As Integer
Dim お経 As String
Dim 文字種 As Integer
Dim 括弧 As Boolean
Dim 結果(2) As String
Dim s As String
文字種 = 1
お経 = Cells(1, 1) ’お経という変数にA1にある文字列を入れますA1
j = Len(お経) ’お経の文字列数をjに入れます
For i = 1 To j ' 1~jまで一個づつ処理します
s = Mid(お経, i, 1) 's にお経のi番目の文字を入れます
括弧 = False
Select Case s ’sによって処理をわける
Case "(" ’ "(" の場合文字種を2(かな)にする
括弧 = True '括弧である(true)
文字種 = 2 ’ "(" の場合文字種を1(感じ)にする
Case ")"
括弧 = True
文字種 = 1
End Select
If 括弧 = False Then ’括弧じゃないとき文字を連結
結果(文字種) = 結果(文字種) + s
End If
Next
Cells(3, 1) = 結果(1)
Cells(4, 1) = 結果(2)
End Sub
一応オーソドックスに処理してます。
配列(結果)に出力を入れました。
最後は結果の確認ですね。
No.5
- 回答日時:
>またモニタのメッセージBOXに見えるだけではなく、テキストがほしいのです。
テキストファイルへの出力はマクロの基本です。入門書に書いてあるはず。検索してもたくさん見つかるはず。お手元には本がないのですか?検索もしていない?
どうやらマクロそのものが敷居が高いのかもしれません。
以下のようにしてはどうでしょう。
(1)「妙(みょう)法(ほう)蓮(れん)華(げ-)經(きょう)・・・」を、改行を置換できるテキストエディタに貼り付ける。
#メモ帳ではできないので、高機能のフリーのテキストエディタをVectorなどからダウンロードしてください。
(2)「)」を改行に置換。これで
妙(みょう
法(ほう
蓮(れん
・・・
のようになります。
(3)Excelを開き、(2)のテキストをA1セルに貼り付け。
(4)「データ」-「区切り位置」を使い、「(」で区切る。これによってA列に漢字、B列にひらがなが入る。
#「区切り位置」の使い方は、入門書や検索で調べてください。
(5)A列を選択し、テキストエディタに貼り付ける。
(6)テキストエディタで検索する文字列を改行にし、置換後の文字列に何も入力しないことで改行を削除する。
#これで、漢字が1行になります。
(7)B列についても同様の処理をして、1行にする。
以上です。
みなさんは、すばらしい!
テキストファイルへの出力はマクロの基本でしょうね。勉強不足を痛感し、もっと本を読んでみます。
ありがとうございました。
No.4
- 回答日時:
もし正規表現は敷居が高いと思われるなら、こちらの方が分かり易いと思います。
Sub mcr()
Dim ary As Variant
ary = Split("妙(みょう)法(ほう)蓮(れん)華(げ-)經(きょう)", ")")
Dim kanji As String, kana As String, tmp As Variant, tmp2 As Variant
For Each tmp In ary
tmp2 = Split(tmp, "(")
If UBound(tmp2) > 0 Then
kanji = kanji & tmp2(0)
kana = kana & tmp2(1)
End If
Next
MsgBox kanji & vbCrLf & kana
End Sub
初心者ですので補足に書き込むべきかわかりませんが、ありがとうございます。
無量百千萬(む-りょうひゃくせんまん)つづく。
つづくというのは、あと1000文字以上文章があります。
またモニタのメッセージBOXに見えるだけではなく、テキストがほしいのです。
プログラムをにコピペして、実行しました。
正規表現は敷居が高いと…の意味も理解できない素人ですが、
再度よろしくお願いします。
No.3
- 回答日時:
こんにちは。
別のWord・マクロの質問とは似ていますが、こちらの方が簡単です。
どちらか一つにしてほしいものです。
Wordの場合は、
Const SUTRA As String =
を
Dim Sutra As String
Sutra = Selection.Text
にすればよいと思います。
'-------------------------------------------
Sub TextSplit()
Dim Matches As Object
Dim Match As Object
Dim buf0 As String
Dim buf1 As String
Const SUTRA As String = "妙(みょう)法(ほう)蓮(れん)華(げ-)經(きょう) 如(にょ-)來(らい)壽(じゅ-)量(りょう)品(ほん)自我得佛來(じ-が-とくぶつらい) 所經諸劫數(しょ-きょうしょ-こっしゅ) 無量百千萬(む-りょうひゃくせんまん)つづく。"
With CreateObject("VBScript.RegExp")
.Pattern = "[\((]([^\))]+)[\))]"
.Global = True
buf0 = SUTRA
If .Test(SUTRA) Then
Set Matches = .Execute(SUTRA)
For Each Match In Matches
buf0 = Replace(buf0, Match.Value, "")
buf1 = buf1 & Match.SubMatches(0)
Next
End If
End With
MsgBox buf0 & String(2, vbCrLf) & buf1
End Sub
さきほどのWendy02さんですか、ありがとうございます。
無量百千萬(む-りょうひゃくせんまん)つづく。
つづくというのは、あと1000文字以上文章があります。
またモニタのメッセージBOXに見えるだけではなく、テキストがほしいのです。再度よろしくお願いします。
No.1
- 回答日時:
一例まで。
Sub try()
Dim myReg As Object
Dim myMatch As Variant
Dim st As String
Dim st1 As String
Dim st2 As String
Set myReg = CreateObject("VBScript.Regexp")
myReg.Pattern = "\(.+?\)"
myReg.Global = True
st = "妙(みょう)法(ほう)蓮(れん)華(げ-)經(きょう)如(にょ-)來(らい)壽(じゅ-)量(りょう)品(ほん)自我得佛來(じ-が-とくぶつらい)所經諸劫數(しょ-きょうしょ-こっしゅ)無量百千萬(む-りょうひゃくせんまん)"
st1 = st
For Each myMatch In myReg.Execute(st)
st1 = Replace(st1, myMatch.Value, "")
st2 = st2 & Replace(Replace(myMatch.Value, "(", ""), ")", "")
Next
MsgBox st1 & vbLf & st2
Set myReg = Nothing
End Sub
初心者ですので補足に書き込むべきかわかりませんが、ありがとうございます。
無量百千萬(む-りょうひゃくせんまん)つづく。
つづくというのは、あと1000文字以上文章があります。
またモニタのメッセージBOXに見えるだけではなく、テキストがほしいのです。再度よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 哲学 創価学会員にとっての神とは何か? 19 2022/10/17 03:33
- 宗教学 ”南無妙法蓮華経の妙味”とは何のことでしょうか? 4 2022/12/14 15:33
- 宗教学 日蓮さんの主な心の変化時期 1 2023/02/26 20:25
- 哲学 昔はこのコーナーにもお坊さんと思わしき方々がおられました 8 2023/08/28 21:21
- 哲学 日蓮宗と創価学会 6 2023/08/06 09:40
- 哲学 日蓮宗も日蓮正宗も創価学会も真実の信仰ではございません 9 2023/08/06 12:08
- 宗教学 妙法蓮華経を受持するとは 2 2023/06/19 10:58
- 宗教学 日蓮の南無妙法蓮華経をとにかく唱題するということにいたった根拠が明確な経典はありますか? 識字率から 6 2022/09/09 23:16
- 宗教学 南無妙法蓮華経を唱えると「仏さま」になる? 7 2023/03/10 15:32
- 宗教学 南無妙法蓮華経 5 2023/07/04 13:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ブスってどうして生きてるんで...
-
MacBook 数字キーが打てない
-
20歳、男です。 電車でそこそこ...
-
GcolleについてGcolleは違法ギ...
-
デスクマットの裏に写った印刷...
-
PS3の騒音問題
-
女の人は下の名前で呼ばれたい...
-
10月10日?発売予定の “Meta Qu...
-
メーカー正規モデルと量販店向...
-
カットモデルします。手土産は...
-
甲斐よしひろさんのサングラス
-
先日、街中でサロンモデルやら...
-
Baby-Gと男性
-
子供の下着のモデル
-
ノートPCのCPU交換について
-
家電量販店オリジナルモデルと...
-
ラフォーレ原宿あたりで声をか...
-
CrystalDiskInfoの64bit版について
-
リーバイス(LEVI'S)のbigEとs...
-
猪八戒が持ってる農具名称
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ブスってどうして生きてるんで...
-
20歳、男です。 電車でそこそこ...
-
GcolleについてGcolleは違法ギ...
-
10月10日?発売予定の “Meta Qu...
-
PCの「型番」と「モデル番号」...
-
女の人は下の名前で呼ばれたい...
-
デスクマットの裏に写った印刷...
-
カットモデルします。手土産は...
-
PS3の騒音問題
-
MacBook 数字キーが打てない
-
メーカー正規モデルと量販店向...
-
私は純日本人なのにロシア系の...
-
TV通販「QVC」と「Sho...
-
股下の長さについて
-
PanasonicのDIGAで番組を持ち出...
-
AppleWatch Apple Watchを彼氏...
-
カーナビがUSBメモりのmp3を全...
-
豊猟とはなんでしょうか? 教え...
-
LTspiceで部品の追加をしたいの...
-
先日、街中でサロンモデルやら...
おすすめ情報