「数値を増減」の版間の差分
マクロ更新 |
SyntaxHighlightにcopyの追加 |
||
| (同じ利用者による、間の11版が非表示) | |||
| 1行目: | 1行目: | ||
== 概要 == | |||
カーソル付近 or 選択範囲に半角数字列があれば 1 増やし/減らします。 | カーソル付近 or 選択範囲に半角数字列があれば 1 増やし/減らします。 | ||
* | * カーソル位置は、数字の左端・中間・右端どこでもかまいません。範囲選択時は、範囲内のみが対象となります。 | ||
:{|class="wikitable" style="text-align:center;" | :{|class="wikitable" style="text-align:center;" | ||
! !! 左端 !!colspan="2"|中間 !! 右端 !! 範囲選択時 | ! !! 左端 !!colspan="2"|中間 !! 右端 !! 範囲選択時 | ||
| 48行目: | 47行目: | ||
|} | |} | ||
==ダウンロード== | == ダウンロード == | ||
[[ | [[ファイル:数値を増減.zip]] | ||
; 内容 | ; 内容 | ||
* 数値を減らす.ico | * 数値を減らす.ico | ||
| 57行目: | 56行目: | ||
* 数値を増減.lib.js | * 数値を増減.lib.js | ||
== | == 変更履歴 == | ||
* 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>とした | ||
* 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 していた処理を一段階に) | ||
* 1.0.1 (2014-06-19) | |||
* 非選択時、探索終了位置(bx) | ** 非選択時、探索終了位置(bx)の算出方法を変更 | ||
* | ** 数値の増減処理を変更(繰り上げ・繰り下げの場合分けを不要に) | ||
* 1.0.0 (2014-06-17) | |||
* | ** 初版公開 | ||
==ソースコード== | == ソースコード == | ||
===数値を増やす.js=== | === 数値を増やす.js === | ||
< | <syntaxhighlight lang="javascript" copy> | ||
#include "数値を増減.lib.js" | #include "数値を増減.lib.js" | ||
| 87行目: | 86行目: | ||
}); | }); | ||
}); | }); | ||
</ | </syntaxhighlight> | ||
===数値を減らす.js=== | === 数値を減らす.js === | ||
< | <syntaxhighlight lang="javascript" copy> | ||
#include "数値を増減.lib.js" | #include "数値を増減.lib.js" | ||
| 101行目: | 100行目: | ||
}); | }); | ||
}); | }); | ||
</ | </syntaxhighlight> | ||
===数値を増減.lib.js=== | === 数値を増減.lib.js === | ||
< | <syntaxhighlight lang="javascript" copy> | ||
function 数値を増減(ope) { | function 数値を増減(ope) { | ||
// 2014 | // 2014-06-15 - 2020-05-17 | ||
//・カーソル付近or選択範囲の半角数字を 1 増やす/減らす。 | //・カーソル付近or選択範囲の半角数字を 1 増やす/減らす。 | ||
//※このファイルはマクロ登録する必要はありません。 | //※このファイルはマクロ登録する必要はありません。 | ||
| 168行目: | 167行目: | ||
EndUndoGroup(); | EndUndoGroup(); | ||
}; | }; | ||
</ | </syntaxhighlight> | ||
==位取り対応== | == 位取り対応 == | ||
< | <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; //★位取り対応 | ||
</ | </syntaxhighlight> | ||
数値を増減.lib.js の内容を上記のように書き換えると、カーソル左側を基準に増減するようになります。 | |||
※カーソルが数字の左端にある場合/範囲選択時は、通常どおり増減します。 | |||
:{|class="wikitable" style="text-align:center;" | :{|class="wikitable" style="text-align:center;" | ||
! ※左端 !! 千の位 !! 百の位 !! 十の位 !! 一の位 !! ※範囲選択時 | ! ※左端 !! 千の位 !! 百の位 !! 十の位 !! 一の位 !! ※範囲選択時 | ||
スポンサーリンク