「数値を増減」の版間の差分

Masme (トーク | 投稿記録)
マクロ更新
MSY-07 (トーク | 投稿記録)
SyntaxHighlightにcopyの追加
 
(同じ利用者による、間の11版が非表示)
1行目: 1行目:
<div style="float:right">__TOC__</div>
== 概要 ==
 
カーソル付近 or 選択範囲に半角数字列があれば 1 増やし/減らします。
カーソル付近 or 選択範囲に半角数字列があれば 1 増やし/減らします。


* カーソル位置は、数字の左端・中間・右端どこでもかまいません。<br>範囲選択時は、範囲内のみが対象となります。
* カーソル位置は、数字の左端・中間・右端どこでもかまいません。範囲選択時は、範囲内のみが対象となります。
:{|class="wikitable" style="text-align:center;"
:{|class="wikitable" style="text-align:center;"
!  !! 左端 !!colspan="2"|中間 !! 右端 !! 範囲選択時
!  !! 左端 !!colspan="2"|中間 !! 右端 !! 範囲選択時
48行目: 47行目:
|}
|}


==ダウンロード==
== ダウンロード ==
[[メディア:数値を増減.zip|数値を増減.zip]]
[[ファイル:数値を増減.zip]]
; 内容
; 内容
* 数値を減らす.ico
* 数値を減らす.ico
57行目: 56行目:
* 数値を増減.lib.js
* 数値を増減.lib.js


==更新履歴==
== 変更履歴 ==
; 2020/05/17
* 1.0.3 (2020-05-17)
* ダウンロード版を追加。
** ダウンロード版を追加
* 数値を増減.lib.js にコードの共通部をまとめ、#include する仕様に変更。
** 数値を増減.lib.js にコードの共通部をまとめ、#include する仕様に変更
* 複数選択に試験対応(Mery 3.0.1 以降)。
** 複数選択に試験対応(Mery 3.0.1 以降)
** 矩形選択に試験対応(要 ☑マルチ カーソルを有効にする)。
*** 矩形選択に試験対応(要 ☑マルチ カーソルを有効にする)
**: 複数選択化して(選択範囲を行に分けて)から処理します。
**** 複数選択化して(選択範囲を行に分けて)から処理します
* Document.TextLength が使える場合は使うようにした(Mery 3.0.1 以降)。
** Document.TextLength が使える場合は使うようにした(Mery 3.0.1 以降)
* 都合上、<b style="color:#c00;">Mery 3.0.0 は動作対象外</b>とした。
** 都合上、<b style="color:#c00;">Mery 3.0.0 は動作対象外</b>とした
; 2016/02/28
* 1.0.2 (2016-02-28)
* (数値を増やす) 正規表現を ([0-8]?)(9*) → ([0-9])(9*) に一部変更。他微調整。
** (数値を増やす) 正規表現を ([0-8]?)(9*) → ([0-9])(9*) に一部変更。他微調整
*: 空文字マッチが発生し、処理にムダができていたのを改善。
*** 空文字マッチが発生し、処理にムダができていたのを改善
* 文字数変化量を Document.Text.length の変化から算出するようにして単純化。
** 文字数変化量を Document.Text.length の変化から算出するようにして単純化
* 数値の増減処理を変更(二段階 replace していた処理を一段階に)。
** 数値の増減処理を変更(二段階 replace していた処理を一段階に)
; 2014/06/19
* 1.0.1 (2014-06-19)
* 非選択時、探索終了位置(bx)の算出方法を変更。
** 非選択時、探索終了位置(bx)の算出方法を変更
* 数値の増減処理を変更(繰り上げ・繰り下げの場合分けを不要に)。
** 数値の増減処理を変更(繰り上げ・繰り下げの場合分けを不要に)
; 2014/06/17
* 1.0.0 (2014-06-17)
* 初版公開。
** 初版公開


==ソースコード==
== ソースコード ==
===数値を増やす.js===
=== 数値を増やす.js ===
<source lang="javascript">
<syntaxhighlight lang="javascript" copy>
#include "数値を増減.lib.js"
#include "数値を増減.lib.js"


87行目: 86行目:
  });
  });
});
});
</source>
</syntaxhighlight>


===数値を減らす.js===
=== 数値を減らす.js ===
<source lang="javascript">
<syntaxhighlight lang="javascript" copy>
#include "数値を増減.lib.js"
#include "数値を増減.lib.js"


101行目: 100行目:
  });
  });
});
});
</source>
</syntaxhighlight>


===数値を増減.lib.js===
=== 数値を増減.lib.js ===
<source lang="javascript">
<syntaxhighlight lang="javascript" copy>
function 数値を増減(ope) {
function 数値を増減(ope) {
// 2014/06/15-2020/05/17
// 2014-06-15 - 2020-05-17
//・カーソル付近or選択範囲の半角数字を 1 増やす/減らす。
//・カーソル付近or選択範囲の半角数字を 1 増やす/減らす。
//※このファイルはマクロ登録する必要はありません。
//※このファイルはマクロ登録する必要はありません。
168行目: 167行目:
   EndUndoGroup();
   EndUndoGroup();
};
};
</source>
</syntaxhighlight>


==位取り対応==
== 位取り対応 ==
<source lang="javascript">
<syntaxhighlight lang="javascript" copy>
//  var bx = tx + ln.slice(tx-1).match(/[0-9]*/)[0].length;
//  var bx = tx + ln.slice(tx-1).match(/[0-9]*/)[0].length;
   var bx = (px!==tx)? px: tx + ln.slice(tx-1).match(/[0-9]*/)[0].length; //★位取り対応
   var bx = (px!==tx)? px: tx + ln.slice(tx-1).match(/[0-9]*/)[0].length; //★位取り対応
</source>
</syntaxhighlight>
* 数値を増減.lib.js の内容を上記のように書き換えると、カーソル左側を基準に増減するようになります。<br>※カーソルが数字の左端にある場合/範囲選択時は、通常どおり増減します。
数値を増減.lib.js の内容を上記のように書き換えると、カーソル左側を基準に増減するようになります。
 
※カーソルが数字の左端にある場合/範囲選択時は、通常どおり増減します。
:{|class="wikitable" style="text-align:center;"
:{|class="wikitable" style="text-align:center;"
! ※左端 !! 千の位 !! 百の位 !! 十の位 !! 一の位 !! ※範囲選択時
! ※左端 !! 千の位 !! 百の位 !! 十の位 !! 一の位 !! ※範囲選択時
スポンサーリンク