好きなおでんの具材ドラフト会議しましょう

テキストファイル上にある数字を検索して、3桁ごとにカンマを入れたいと思ってます。

秀丸を使っているので、検索したらマクロで実現できそうな紹介ページを発見したものの、
結局、どういうマクロファイルを作ればいいのか、わからなくて困ってます。
http://www.maruo.co.jp/turukame/3/x06714_.html

プログラムはほとんどわからないので、ファイル全体の記述内容を教えてほしいです。

※ちなみに、数字は文章内にランダムにあり、表形式などではないので、
※一度エクセルなどに取り込んで、数字にカンマを入れる形にして再保存などはできません。

わかる方、どうぞよろしくお願いいたします。

A 回答 (2件)

こんな感じですか。


※対象は半角の数字です。

--foo.mac--------
gofileend;
while(1){
replaceup "(\\d)(\\d{3})", "\\1,\\2", regular;
if(result<=0) break;
}
------------------
    • good
    • 0
この回答へのお礼

ありがとうございます。無事、こちらのマクロで対処できました。大変助かりました。

お礼日時:2016/12/06 14:34

> ※ちなみに、数字は文章内にランダムにあり、表形式などではないので、


> ※一度エクセルなどに取り込んで、数字にカンマを入れる形にして再保存などはできません。
ユーザー定義関数を作ればいいだけでは……?

Function MILSEP(値) As String
Dim v, mi1 As String
Dim i As Long, ii As Long
Dim tf As Boolean
For Each v In 値
MILSEP = MILSEP & vbLf
tf = False
ii = 1
For i = 1 To Len(v)
mi1 = Mid(v, i, 1)
If tf Then
If Not mi1 Like "[0-9]" Then
MILSEP = MILSEP & Format(Mid(v, ii, i - ii), "#,##0") & mi1
tf = False
End If
Else
If mi1 Like "[0-9]" Then
tf = True
ii = i
Else
MILSEP = MILSEP & mi1
End If
End If
Next i
Next v
MILSEP = Mid$(MILSEP, 2)
End Function
    • good
    • 0
この回答へのお礼

ありがとうございます。無事、こちらのマクロで対処できました。大変助かりました。

お礼日時:2016/12/06 14:34

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


おすすめ情報