「貼付け実行後のカーソル位置を貼付け文字列の先頭にする」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
セクションの追加
編集の要約なし
7行目: 7行目:
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
with (document.selection) {
with (document.selection) {
   // カーソル位置を保存
   // カーソル位置 (選択開始位置) を保存
  var x = GetActivePointX(mePosView);
   var x = GetTopPointX(mePosView);
   var y = GetActivePointY(mePosView);
   var y = GetTopPointY(mePosView);
  // 選択開始位置を保存
  var ax = GetTopPointX(mePosView);
   var ay = GetTopPointY(mePosView);
  // 選択終了位置を保存
  var bx = GetBottomPointX(mePosView);
  var by = GetBottomPointY(mePosView);
 
   // 貼付け
   // 貼付け
   Paste();
   Paste();
 
   // カーソル位置を復元
   // カーソル位置を復元
   SetActivePoint(mePosView, x, y, false);
   SetActivePoint(mePosView, x, y, false);
  // 範囲選択時には最左上の位置に復元
  if (x == bx && y == by) {
    SetActivePoint(mePosView, ax, ay, false);
  }
}
}
</syntaxhighlight>
</syntaxhighlight>

2024年5月11日 (土) 09:06時点における版

概要

貼付け実行後のカーソル位置は通常、貼付け文字列の末尾になります。

このマクロで貼付けた場合は、貼付け後のカーソル位置が貼付け文字列の先頭になります。

ソースコード

with (document.selection) {
  // カーソル位置 (選択開始位置) を保存
  var x = GetTopPointX(mePosView);
  var y = GetTopPointY(mePosView);
  // 貼付け
  Paste();
  // カーソル位置を復元
  SetActivePoint(mePosView, x, y, false);
}
スポンサーリンク