とある突発的作業で、サクラエディタでマクロを実行する機会がありました。

めったにやらないので、調査ついでにメモとして記事を残します。

 

今回は一例として、文頭に「”」(ダブルクオーテーション)を、文末に「”,」(ダブルクオーテーションとカンマ)を入れています。

もとにあった文字列ですよー → もとにあった文字列ですよー,

↑のように変換するわけです。

 

注意点は、「”」(ダブルクオーテーション)です。

スクリプトで文字列を定義するときは、

“文字列”のように、「”」2つで囲むのがふつうです。

ここで、「”」をそのまま文字列として扱うには、

“””文字列”””と、いう風に、「”」を連続して使用しなくてはなりません。

Option Explicit
Dim myStr, myTag, HedStr, EndStr, EndStr2
Dim myArray
Dim i

'文字列を取得
myStr = Editor.GetSelectedString(0)

'配列に分解
myArray = Split(myStr, vbCrLf)

If Ubound(myArray) = 0 Then
'文頭と文末に挿入する文字列
EndStr = """"
EndStr2 = ""","
'元の文字列と挿入する文字列の結合
myStr = EndStr & myArray(0) & EndStr2
'挿入
Editor.InsText(myStr)
Else
'2行目以降
For i = Lbound(myArray) to Ubound(myArray)
EndStr = """"
EndStr2 = ""","
myStr = EndStr & myArray(i) & EndStr2 & vbCrLf
Editor.InsText(myStr)
Next
End If

このソースをテキストエディターで編集し、「.vbs」拡張子で保存します。

その後、マクロを実行したいファイルをサクラエディターで開き、変換したい文書をマウスで選択します。

その状態でメニューから[ツール]-[名前を指定してマクロ実行]から、vbsファイルを選択して実行するとマクロが実行されます。

 

Post Navigation