投稿

キークロンランチャーでANY登録するChromeOSFlex時々Win

Quick Edit Pencil
OSFlexファイル alt + shift + M
VIAのマクロコード例: {+KC_LALT}{+KC_LSFT}{+KC_M}{-KC_LALT}{-KC_LSFT}{-KC_M}
Qmk Keycode: LALT(LSFT(KC_M))
OSFlex絵文字 search + shift + space
VIAのマクロコード例: 
Qmk Keycode: LSFT(LGUI(KC_SPC))
OSFlexディクテーション win + D
VIAのマクロコード例: {+KC_LGUI}{+KC_D}{-KC_LGUI}{-KC_D}
Qmk Keycode: LGUI(KC_D)
スクリーンショット win + shift + S
VIAのマクロコード例: {+KC_LSFT}{+KC_LGUI}{+KC_S}{-KC_LGUI}{-KC_S}{-KC_LSFT}
Qmk Keycode: LGUI(LSFT(KC_S))

Microsoft PowerToys で 英数キー caps lock で IME オフする

Quick Edit Pencil
AutoHotkey v2 は無理だったので、PowerToys というツールを使って、レジストリ(OSの台帳)レベルでCapsLockの役割を書き換えてしまうのが一番確実で、動作も「ガチガチに」安定しました。


Microsoft PowerToys - Windows にダウンロードしてインストール | Microsoft Store
https://apps.microsoft.com/detail/xp89dcgq3k6vld?launch=true&hl=ja-jp&gl=jp


1. Microsoft PowerToys をインストール

2. PowerToys で CapsLock を「IME OFF」に固定する
  1. PowerToysの設定を開きます(タスクバーの右端にあるアイコンをダブルクリック)。

  2. 左メニューの 「Keyboard Manager(キーボード マネージャー)」 を選択します。

  3. 「キーの再マップ (Remap a key)」 をクリックします。

  4. 「+」ボタンを押して、新しいマッピングを追加します。


3. 設定内容

  • 物理キー (Select): 「Type」を押して、実際に CapsLock キーを叩いてください。

  • マップ先 (To): プルダウンから 「IME Off」 を選んでください。

最後に「OK」を押して、警告が出ても「続行する」を選べば完了です。

⚙️ わたしの場合は余計な構成は OFF にして、Keyboard Manager だけ ON にしました。



2026年2月16日において、
AutoHotkey v2 (AHK2) で CapsLock キーを単押しした際に IME を OFF(半角英数)にするスクリプトを作成しましたが、AutoHotkey v2 (AHK2) スクリプトでの制御は無理でした。
現行の新旧「MSIME」はAHKが使っていた「窓口(API)」を完全に閉ざして、自分たちの殻に閉じこもっているような状態なのでしょうか。いいえ原因は多分標準 MS-IME 以外を使っていると、AHK の IME OFF はほぼ動かないそうです。Google 日本語入力や ATOK を使っている場合は完全に別コードが必要との事ですが、私はめんどくさいので PowerToys にしました。
もし標準 MS-IME 以外を使っていると、AHK の IME OFF はほぼ動かない。
今回試したのは、機械が古くて、基本ソフトは Windows 10 Pro。
2026年10月までの拡張セキュリティプログラムが適用されている環境でした。

Win10プリインストールのThinkPadに省電力マネージャを導入した

Quick Edit Pencil
下記のサイト様で成功でした
https://think-memo.com/thinkpad-powermanager/

https://gemini.google.com/search?q=%5B%5BOralHistory%5D%5D

Quick Edit Pencil
>light-monochrome<
>light<
>dark<
javascript:(function(searchstr) { 
    var input = document.querySelector('input[data-test-id="search-input"]'); 
    if (input) { 
        input.value = ""; 
        input.value = searchstr;
        input.dispatchEvent(new Event('input')); 
        input.dispatchEvent(new Event('change'));
    } else { 
        alert('入力フィールドが見つかりませんでした。'); 
    } 
})("代入するテキスト");
javascript:(function(searchstr) { 
    var input = document.querySelector('input[data-test-id="search-input"]'); 
    if (input) { 
        input.value = ""; // 既存の値をクリア 
        input.value = searchstr; // 新しいテキストを代入 
        input.dispatchEvent(new Event('input')); // 入力イベントを発火させる 
        input.dispatchEvent(new Event('change')); // 変更イベントを発火させる 
    } else { 
        alert('入力フィールドが見つかりませんでした。'); 
    } 
})("代入するテキスト");
javascript:(function() {
    var input = document.querySelector('input[data-test-id="search-input"]');
    if (input) {
        input.value = ""; // 既存の値をクリア
        setTimeout(function() {
            input.value = "代入するテキスト"; // 新しいテキストを代入
            input.dispatchEvent(new Event('input')); // 入力イベントを発火させる
            input.dispatchEvent(new Event('change')); // 変更イベントを発火させる
        }, 100); // 100ミリ秒待つ
    } else {
        alert('入力フィールドが見つかりませんでした。');
    }
})();

プルダウンソース

Quick Edit Pencil
=SORT(mst_材種[short]&","&mst_材種[短縮形],-2,FALSE)

googleスプレッドシートで名前範囲内のデータが更新された時にタイムスタンプを更新

Quick Edit Pencil
function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = e.range;
  var namedRange = e.source.getRangeByName("YourNamedRange"); // 名前付き範囲を指定
  var timestampSheet = e.source.getSheetByName("YourTimestampSheet"); // タイムスタンプを表示するシートを指定
  var timestampCell = timestampSheet.getRange("A1"); // タイムスタンプを表示するセルを指定

  // 名前付き範囲内のセルが編集された場合
  if (range.getA1Notation() === namedRange.getA1Notation() || 
      (range.getRow() >= namedRange.getRow() && range.getRow() < namedRange.getLastRow() &&
       range.getColumn() >= namedRange.getColumn() && range.getColumn() < namedRange.getLastColumn())) {
      if (timestampCell) {
        var currentDate = new Date();
        var formattedDate = Utilities.formatDate(currentDate, Session.getScriptTimeZone(), "yyyy/MM/dd HH:mm");
        timestampCell.setValue("Last Update Date: " + formattedDate); // 書式を指定してタイムスタンプを設定
      }
  }
}
名前付き範囲が複数ある場合
function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = e.range;
  var timestampSheet = e.source.getSheetByName("YourTimestampSheet"); // タイムスタンプを表示するシートを指定
  var timestampCell = timestampSheet.getRange("A1"); // タイムスタンプを表示するセルを指定

  // 監視する名前付き範囲のリスト
  var namedRanges = ["NamedRange1", "NamedRange2", "NamedRange3"]; // 監視する名前付き範囲を指定

  // 監視する名前付き範囲のいずれかが編集された場合
  for (var i = 0; i < namedRanges.length; i++) {
    var namedRange = e.source.getRangeByName(namedRanges[i]);
    if (namedRange) {
      if (range.getA1Notation() === namedRange.getA1Notation() || 
          (range.getRow() >= namedRange.getRow() && range.getRow() < namedRange.getLastRow() &&
           range.getColumn() >= namedRange.getColumn() && range.getColumn() < namedRange.getLastColumn())) {
        var currentDate = new Date();
        var formattedDate = Utilities.formatDate(currentDate, Session.getScriptTimeZone(), "yyyy/MM/dd HH:mm");
        timestampCell.setValue("Last Update Date: " + formattedDate); // 書式を指定してタイムスタンプを設定
        break; // 1つの範囲が編集されたらループを終了
      }
    }
  }
}
Google スプレッドシートの「トリガー」を使用して、特定のセルが編集されたときに自動的に実行される「イベントハンドラー」です。具体的には、onEdit(e) 関数は、スプレッドシート内の任意のセルが編集されたときに自動的に呼び出されます。

仕組みの説明

onEdit(e): この関数は、スプレッドシート内のセルが編集されるたびに自動的に実行されます。e はイベントオブジェクトで、どのセルが編集されたかなどの情報を含んでいます。


監視: スクリプトは、特定の名前付き範囲内のセルが編集されたかどうかを監視しています。もしその範囲内のセルが編集された場合、指定したセルにタイムスタンプを更新します。


カスタム関数との違い: カスタム関数は、スプレッドシートのセルに直接入力して使用する関数で、手動で呼び出す必要があります。一方、onEdit トリガーは自動的に実行されるため、ユーザーが何かを入力するたびに自動的に反応します。
まとめ

このスクリプトは、特定のセルが編集されたときに自動的にタイムスタンプを更新するためのものであり、カスタム関数ではなく、イベントに基づいて動作するものです。これにより、ユーザーは手動で関数を呼び出す必要がなく、スプレッドシートの操作がよりスムーズになります。

googleスライドにリンクした表を更新するスクリプト

Quick Edit Pencil
GASについて質問ですGoogleスライド内にスプレッドシート... - Yahoo!知恵袋
↑の結果は
2024/7/17 9:34 の情報では不可能な様子でした。グラフはできるそうです。

↑の結果は
2023/06/25 12:30 の情報では不可能な様子でした。グラフはできるそうです。

キーワード
googleスライド、リンクされたオブジェクトを更新、Google Apps Script