0
0

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.

[サクラエディタ][マクロ][js]プログラム対象行数取得マクロ

Last updated at Posted at 2021-01-09

#早速ですが
VB.NET開発で、コーディング行数をコメントに記述する必要があり、毎回行数を数えるのが面倒のため、容易に取得できるマクロを作成

##ざっくりな手順
①VisualStudioからプログラムをコピー
②サクラエディタに貼り付け
③マクロ実行

PGLineCnt.vbs
' *****************************************************************************************
' タイトル:プログラム対象行数取得(サクラエディタマクロ用)
' 説明    :プログラムのコメント行、空白行を除き、
'           プログラム対象行数をクリップボードにコピーする。
' 作成者  :●●●●
' 設定手順:①[メニュー]-[設定]-[共通設定]から[マクロ]タブを選択
'           ②空き番号行を選択、名前に任意の名前を入力し、Fileに当マクロを選択後、
'             設定ボタンを押下
'           ③[キー割当]タブを選択
'           ④種別のリストから[外部マクロ]を選択、機能欄から②で登録したマクロを選択し、
'             任意のキーを割付
'           ⑤サクラエディタの再起動
'
' 変更履歴:2021.01.08 新規登録
' *****************************************************************************************

Call Editor.ReplaceAll("^[ |\t]*" & "\'" & ".*[\r\n]", "", 4)	'置換1:コメント行を置換
Call Editor.ReplaceAll("^[\r\n]+", "", 4)						'置換2:空白行を置換

Call Editor.ReDraw(0)			'再描画
Call Editor.GoFileTop(0)		'先頭行移動

lcnt = Editor.GetLineCount(0)		'対象行数取得
Call Editor.SetClipboard(0, lcnt)	'対象行数取得をクリップボードにコピー
msgbox(lcnt)						'対象行数取得をメッセージ表示
PGLineCnt.js
/*
 * タイトル:プログラム対象行数取得マクロ(サクラエディタマクロ用)
 * 説明    :プログラムのコメント行、空白行を除き、
 *           プログラム対象行数をクリップボードにコピーする。
 * 作成者  :●●●●
 * 設定手順:①[メニュー]-[設定]-[共通設定]から[マクロ]タブを選択
 *           ②空き番号行を選択、名前に任意の名前を入力し、Fileに当マクロを選択後、
 *             設定ボタンを押下
 *           ③[キー割当]タブを選択
 *           ④種別のリストから[外部マクロ]を選択、機能欄から②で登録したマクロを選択し、
 *             任意のキーを割付
 *           ⑤サクラエディタの再起動
 *
 * 変更履歴:2021.01.08 新規登録
 */

// 置換
//Editor.ReplaceAll('^[\r\n]+|^[\s|\t]*' + '\'' + '.*[\r\n]', '', 4);	// 置換
Editor.ReplaceAll('^[ |\t]*' + '\'' + '.*[\r\n]', '', 4);	// 置換1:コメント行を置換
Editor.ReplaceAll('^[\r\n]+', '', 4);						// 置換2:空白行を置換

Editor.ReDraw(0);		// 再描画
Editor.GoFileTop(0);	// 先頭行移動

var lcnt = Editor.GetLineCount(0);	//対象行数取得
Editor.SetClipboard(0, lcnt);		//対象行数取得をクリップボードにコピー
Editor.InfoMsg(lcnt)				//対象行数取得をメッセージ表示

#最後に
サクラエディタの正規表現は、秀丸の結果と微妙に違うのは私の勘違いと思うが、細かい事は気にしない。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?