1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SAKURAエディタでマクロを使う方法

Posted at

LINUX環境で使用するSQLファイルをVBAで大量に作って意気揚々と実行コマンドを叩いたところ、エラー発生!メッセージを調べたところ、どうも文字コードをUTF-8で、改行はLFになっていないといけないようでした。一応SAKURAエディタで「名前を付けて保存」すれば変換できて実行できるようになったけど、大量にあるのでいちいち手作業で保存していくのはめんどくさい....。というわけで一括で変更する方法を調査してみました!

以下のように

sakuramacro.bat
cd C:\Users\username\OneDrive\デスクトップ\sakuramacro
for %%a in (*) do (call :method %%a)
exit
:method
"C:\Tools\sakura\sakura.exe" %1 -M=C:\Users\username\OneDrive\デスクトップ\sakuramacro.mac
goto :eof

ファイルしまっているフォルダパス、サクラエディタのインストール先とか↓で作ってるマクロファイルの場所とかは自分のPCの環境によるので確認しておいてください。
続けて中身の操作を記述するmacファイルを作ります。多分マクロの略なのかな?

sakuramacro.mac
S_ReplaceAll('\\r\\n','\\n',60); //開業コードをすべて置換
S_ReDraw(0); //再描画
S_SelectAll(0); //すべて選択
SJIStoUTF8(0); //文字コード変換
FileSave( ); //上書き保存
WinClose( ); //閉じる

以上です。sakuramacro.batをダブルクリックで実行するとフォルダの中に格納したSJISのSQLファイルが変換されてゆきます。念のためですが、変換したいファイル以外は入れないようにしましょう。↑に書いている書き方だとエクセルでも何でも開いてしまうので、高確率でファイル破壊されます。

今回は文字コードと改行の変換だけでしたが、正規表現とか使って簡単な文章校正とかもできるかもしれません。
ちなみにVBAでUTF-8かつLFのファイルを作成したい場合はADODBという拡張機能を有効にすれば実現できますので、今回紹介したのはSAKURAエディタでもマクロ使えるよってことに絞ったものになります。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?