投稿

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

blender4.1 レンダリング画像を左右反転する方法

Quick Edit Pencil

>方法: コンポジティングを使用する
レンダリング: 通常通りにシーンをレンダリングします。
コンポジティング: コンポジティングノードを使用して、レンダリング結果を左右反転させることができます。
「コンポジティング」タブに移動し、「Use Nodes」を有効にします。
「Image」ノードを追加し、レンダリング結果を接続します。
「Transform」ノードを追加し、X軸のスケールを-1に設定します。
最後に「Composite」ノードに接続します。


コンポジティングノードでの反転のしかたを初心者にもわかるように詳しく教えて

.
GPT-4o mini



Blenderのコンポジティングノードを使用して画像を左右反転させる方法を、初心者向けに詳しく説明します。以下の手順に従ってください。


ステップ1: シーンをレンダリングする
シーンを作成: Blenderでシーンを作成し、レンダリングしたいオブジェクトを配置します。
レンダリング: F12キーを押してシーンをレンダリングします。レンダリングが完了すると、画像が表示されます。

ステップ2: コンポジティングタブに移動
コンポジティングタブを開く: 上部のタブから「コンポジティング」を選択します。
ノードを使用する: 「Use Nodes」にチェックを入れます。これにより、ノードエディタが表示されます。

ステップ3: ノードを設定する
レンダー結果ノードを追加:
右クリックして「Add」メニューを開き、「Input」から「Render Layers」を選択します。これがレンダリング結果を取得するノードです。
変換ノードを追加:
再度右クリックして「Add」メニューを開き、「Distort」から「Transform」を選択します。これが画像を変換するためのノードです。
コンポジットノードを追加:
もう一度右クリックして「Add」メニューを開き、「Output」から「Composite」を選択します。これが最終的な出力ノードです。

ステップ4: ノードを接続する
ノードを接続:
「Render Layers」ノードの出力(右側の出力ポイント)を「Transform」ノードの入力(左側の入力ポイント)に接続します。
「Transform」ノードの出力を「Composite」ノードの入力に接続します。

ステップ5: 反転設定を行う
Transformノードの設定:
「Transform」ノードを選択し、プロパティパネルで「X Scale」の値を-1に設定します。これにより、画像が左右反転します。

ステップ6: レンダリング結果を確認する
ノードを確認: ノードが正しく接続されていることを確認します。
レンダリング: F12キーを押して再度レンダリングします。コンポジティングノードを通じて、左右反転された画像が表示されるはずです。
ステップ7: 画像を保存する
画像を保存: レンダリング結果が表示されたら、Imageメニューから「Save As」を選択して、反転された画像を保存します。
これで、Blenderのコンポジティングノードを使用して画像を左右反転させる方法が完了です。もし何か不明な点があれば、遠慮なく質問してください!<