博多南ウェブサービスのblog

博多南ウェブサービスのサービス紹介

PowerShell 7.x で、Chrome の 恐竜QRコード* を助けたい

背景

前回、PowerShell 7.x で、QRコード* の Decode をしたとき、Chrome で作った QRコードは、Decode できませんでした。

hakataminamiwebservice.hatenablog.com

かわいそうな恐竜を助けたい。

という背景です。

やりたいこと

Powershell 7.x で、Chrome で作った QRコードも Decode したい。

以下、目次

方針

OpenCvSharp の DetectAndDecode は、

    /// <summary>
    /// Both detects and decodes QR code
    /// </summary>
    /// <param name="img">grayscale or color (BGR) image containing QR code.</param>
    /// <param name="points">optional output array of vertices of the found QR code quadrangle. Will be empty if not found.</param>
    /// <param name="straightQrCode">The optional output image containing rectified and binarized QR code</param>
    /// <returns></returns>
    public string DetectAndDecode(InputArray img, out Point2f[] points, OutputArray? straightQrCode = null)

で、恐竜QRコードに対して実行したところ、

となります。

そこで、次のようなステップで、検証・調査していき、原因を特定していきましょう。

  1. (前提の確認)本当にQRコード quadrangle の座標が正しいかを確認
  2. (前提の確認)OpenCV の処理内容を確認(2値化 => detect => decode のように書かれているが、正しいか確認)
  3. 2値化の結果を確認
  4. detect の結果を確認
  5. decode の結果を確認
  6. (おそらく decode の各処理を調査。)

。。。

まてよ。そういえば、他にもQRコードを Decode できるのがあったような。

まず、試してみよう。

できたこと

ZXing.Net v0.16.10 を利用して、 Powershell 7.x で、Chrome で作った QRコードも Decode できました。

コードはこんな感じ。

param (
    [Parameter(Mandatory = $true)]
    [string]$QRCodePath
)

# DLLのパス(カレントディレクトリにある場合)
$openCvSharpDllPath = ".\OpenCvSharp.dll"
$zXingDllPath = ".\zxing.dll"
$zXingOpenCvDllPath = ".\ZXing.OpenCv.dll"
$code = @"
public static class Decoder
{
    public static string DecodeQRCode(string imagePath)
    {
        try
        {
            using var src = OpenCvSharp.Cv2.ImRead(imagePath);
            var reader = new ZXing.OpenCV.BarcodeReader();
            var result = reader.Decode(src);
            return result?.Text ?? "not decoded";
        }
        catch (System.Exception)
        {
            return "not decoded";
        }
    }
}
"@
Add-Type -Path $openCvSharpDllPath
Add-Type -Path $zXingDllPath
Add-Type -Path $zXingOpenCvDllPath
Add-Type -WarningAction Ignore -IgnoreWarnings -TypeDefinition $code -Language CSharp -ReferencedAssemblies @($openCvSharpDllPath, $zXingDllPath, $zXingOpenCvDllPath )

function Decode-QRCode {
    param([string]$ImagePath)
    return [Decoder]::DecodeQRCode($ImagePath)
}

$result = Decode-QRCode -ImagePath $QRCodePath
Write-Host "Decoded Text: $result"

実行すると

pwsh .\Decode-QRcode.ps1 -QRCodePath .\qrcode-web-noren.png
Decoded Text: https://web-noren.com/norens/show/sample-noren-url

やってみて

恐竜QRコードの画像(png)を、bitmap に変換するのが手間だったので、 OpenCVSharp および ZXing.Net.Bindings.OpenCV.V4 を利用して、画像を読み込んでいる。

参考にしたところ

以上でした。

*QRコードは株式会社デンソーウェーブの登録商標です。

PowerShell 7.x で、QRコード* の Decode をしたい

背景

先日、QRコードを書く機会があったのですが、 ふと"QRコードのテストってどうすれば?"なんて思いました。

1つなら、スマホで読み込んで確認、で完了ですが、 これが、100を超えるとちょっと大変です。

いろいろ調べてみると、Python, OpenCVでQRコードを検出・読み取り なんて記事もあります。

OpenCV なら、OpenCV wrapper for .NET なんてのもあり、 じゃあ、PowerShell からでもできるんじゃね?

という背景です。

やりたいこと

PowerShell 7.x と OpenCvSharp とで、QRコードの Decode をしたい。

以下、目次

できたこと

できました。コードはこんな感じ。

param (
    [Parameter(Mandatory = $true)]
    [string]$QRCodePath
)

# DLLのパス(カレントディレクトリにある場合)
$openCvSharpDllPath = ".\OpenCvSharp.dll"
$code = @"
public static class Decoder
{
    public static string DecodeQRCode(string imagePath)
    {
        try
        {
            using var src = OpenCvSharp.Cv2.ImRead(imagePath);
            if (src.Empty())
            {
                return "not decoded";
            }
            var qrDecoder = new OpenCvSharp.QRCodeDetector();
            string decodedText = qrDecoder.DetectAndDecode(src, out OpenCvSharp.Point2f[] points);
            return string.IsNullOrEmpty(decodedText) ? "not decoded" : decodedText;
        }
        catch (System.Exception)
        {
            return "not decoded";
        }
    }
}
"@
Add-Type -Path $openCvSharpDllPath
Add-Type -WarningAction Ignore -IgnoreWarnings -TypeDefinition $code -Language CSharp -ReferencedAssemblies $openCvSharpDllPath

function Decode-QRCode {
    param([string]$ImagePath)
    return [Decoder]::DecodeQRCode($ImagePath)
}

$result = Decode-QRCode -ImagePath $QRCodePath
Write-Host "Decoded Text: $result"

たとえば、こんなQRコード

https://web-noren.com/norens/show/sample-noren-urlQRコード

を用意して、使い方はこう

>pwsh .\Decode-QRcode.ps1 -QRCodePath .\qrcode-web-noren.png
Decoded Text: https://web-noren.com/norens/show/sample-noren-url

やってみて

PowerShell から、C# のコードは読み込めるというのは知っていたので、 すぐにできるかな、と思っていたら、いろいろつまずきポイントがありました。

Nuget で OpenCvSharp を Install したけど、どうするんだっけ?

Release 4.11.0.20250507README に、

OpenCvSharp core libraries: OpenCvSharp.dll と Native binding: OpenCvSharpExtern.dll が必要です。

みたいな記述に読めたので、ps1 ファイルと同じ場所に置きました。

Add-Type で Warning でてますけど、、、

うーん、Warning 消したらいけるかな?

Need help resolving error CS1701 in PowerShell

よし、いける!!

(もしかしたら、OpenCvSharp Build Instructions で build しなおしたらかもだけど。。。よし!)

Chrome から QRコード作成すると、Decoded Text: not decoded なんですけど

真ん中に恐竜がでてくるこんなやつ。

真ん中に恐竜がでてくるこんなやつ

これは、この記事を書いているときにやってみて気づきました。

OpenCV 側のあれかな?

いろいろ仕組み等把握したくて、参考情報を見てみましたが、、、?

今度、時間があるときにじっくり。

Powershell 7.x だけじゃなく、Powershell 5.x (標準で Windows 11 に入っているやつ)でもいけるんじゃ?

いけませんでした。

お知らせ

本記事で利用した https://web-noren.com/norens/show/sample-noren-url は、

スマホやパソコンから、 お店が、「開いている/しまっている」や「空いている/混んでいる」を、 リアルタイムにお知らせするための、サービスです。

これがあればお客さんの、

店の前まで行って「あ、お店混んでたんだ!じゃ、やめとこ」

がなくなります!!

お客さんは、QRコードや LINE でお店から送られた URL にアクセスするだけ!

無料利用もできますので、ぜひお試しください!

Web のれん

参考にしたところ

以上でした。

*QRコードは株式会社デンソーウェーブの登録商標です。

プリントTシャツを1日で自作したい

背景

急に「自作のプリントTシャツ欲しい!」って思うとき、ありませんか?

たとえば、個人で開発したWebサービスを宣伝したいときとか。

「Tシャツ 作成」で検索すると、いろんなおしゃれで高クオリティなサービスが出てきます。しかし、納品日は「4日後から」。

というわけで、1日でTシャツを作ってみました。

やりたいこと

プリントTシャツを1日で自作する。

できたこと

コピー機で印刷したデザインをTシャツにトレースし、布用マジックで着色で完成!

完成した自作Tシャツ

かかった時間:8時間程度

以下、目次

ステップ

  1. Tシャツを準備
  2. 画材等を準備
  3. デザインを作成
  4. デザインを印刷
  5. Tシャツ裏にデザインを貼り付けてトレース

1. Tシャツを準備

薄手の白Tシャツがトレースに向いています。が、肌着はだめですよ。

2. 画材等を準備

  • 布用マジック(黒):3本(ダイソーの「布書きペン」おすすめ)
  • 定規(15 cm くらい):1本(QR コード用)
  • セロハンテープ

3. デザインを作成

Web 上のTシャツデザインツールは出来上がりのイメージをつかむのに便利でした。

特におすすめなのは UP-T さんのデザインツール。機能も見た目もリッチ!

今回は1枚だけなので自作ですが、複数枚作るときはUP-Tさんにお願いしたいかも!

今回の手法では白黒デザインがトレースしやすくて◎

作成したデザイン

デザインは、お手持ちのドキュメント作成ソフトでA3縦でつくりましょう。

4. デザインを印刷

大人用MサイズのTシャツなら、A3用紙の8割サイズくらいがちょうどいい感じ。

5. Tシャツ裏にデザインを貼り付けてトレース

印刷した紙をTシャツの内側から貼り付けて、表からなぞります。

※注意:マジックのインクが裏に染みないように、内側にサランラップを入れておきましょう。

内側に貼るとき、サランラップをかぶせる

ぬりぬり…

ぬりぬり…

塗る瞑想です。

そして、完成!

作業時間の目安:

表面(QRコード):約3~5時間

裏面(ロゴやメッセージ): 約2~4時間

やってみて

こどもと一緒に塗ったら、作業も楽しくなりました。

お知らせ

本記事でチラ見せした Web のれんは、

スマホやパソコンから、 お店が、「開いている/しまっている」や「空いている/混んでいる」を、 リアルタイムにお知らせできるサービスです。

今回作成したTシャツを着て、宣伝しています。 姿を見かけたら、いいねをよろしくね。

無料利用もできますので、ぜひお試しください!

Web のれん

参考にしたところ

以上でした。

「現在、~番の方をご案内しています」をお知らせしたい(無料で)

背景

(前回からの続きです) hakataminamiwebservice.hatenablog.com

カットハウス「カットカット」店内(イマジナリ)にて

常連さんA(イマジナリ): オーナー。ちょっと、外出してくるね。

カットハウス「カットカット」のオーナーさん(イマジナリ)(以降、オーナーさん): はーい。では、「待ち札 C1」お渡ししときますね。

常連さんB(イマジナリ): あ、わたしも。

オーナーさん: はーい。では、「待ち札 C2」お渡ししときます。

オーナーさん: あ、そうそう、私(イマジナリ)さん。 前回記事の「Web のれん」ありがとうございました。助かってます😊。

私(イマジナリ)(以降、私): ほんとですか。よかったです☺️☺️。

オーナーさん: Web のれんのリアルタイムすがたを見たら、欲が出ちゃったよ。

私: えっ?

オーナーさん: 待ち札のお知らせする姿をひと目見たくなっちゃったねぇ。

私: わかった、オーナーさん(もしかして「STAND BY ME ドラえもん2」見ました?)

私: 待ち札って、さっき常連さんA、Bに渡していたやつですよね。 戻ってきたら、今何番ですってわかるやつ。

オーナーさん: そうそう。待ち札の番号だけ入力できたらね~。

私: ちょっと待っててね。オーナーさん(できるかな?考えてみるか。)

オーナーさん: 大変なことになってないかい? ムリなお願いをしたんじゃ…

私: ちょっと…ほんのちょっとだけ時間がほしいだけなの。 ちょっと待っててね。オーナーさん

オーナーさん: それじゃゆっくりでいいからね。おばあちゃんはここで待ってるから👵

私: (やっぱり、見ましたよね。)

やりたいこと

番号を入力するだけで、「現在、~番の方をご案内しています」をお知らせする。無料で。

できたこと

「番号を Google スプレッドシートに入力し」(人)、

「平日の9時-18時の1分間隔で」(タスクスケジューラ & Powershell)、

スプレッドシートからコピーした番号を」(Power Automate for Desktop(無料))、

「Web のれんを開いて、お知らせし、閉じる」(Power Automate for Desktop(無料)」

で、できました。

「現在、~番の方をご案内しています」のお知らせ

以下、目次

ステップ

  1. フロー「「変数」を設定し、「変数」をメッセージに変換、Web のれんを開いて、「変数」をお知らせし、閉じる」を作成する(Power Automate for Desktop(無料))
  2. Google スプレッドシートを、クラウドに作成する(人(無料))
  3. サブフロー「「Google スプレッドシート」を開いて、「番号」をコピーし、「変数」に設定する。そしたら閉じる」を作成する(Power Automate for Desktop(無料))
  4. スクリプト「ショートカットを押す」を作成する(Powershell
  5. タスク「平日の9時-18時の1分間隔で、実行する」を作成する(タスクスケジューラ)

1. フロー「「変数」を設定し、「変数」をメッセージに変換、Web のれんを開いて、「変数」をお知らせし、閉じる」を作成する(Power Automate for Desktop(無料))

作成したフローと、注意点を。

フロー「「変数」を設定し、「変数」をメッセージに変換、Web のれんを開いて、「変数」をお知らせし、閉じる」

注意点:

  • お知らせに改行を入れたい場合、改行コード「\n」を変数にいれてもダメ😿
  • 一旦、改行したい部分に置換用の文字列を入れて、「テキストを置換する」でうまくいきました

参考:Reddit: new line character at power automate desktop

改行を入れたい部分に文字列「NewLine」を入れる

テキストに挿入した文字列「NewLine」を、改行コード「\n」に置換する

2. Google スプレッドシートを、クラウドに作成する(人(無料))

これだけ。

番号を入力したり、コピーしたりする Google スプレッドシート

3. サブフロー「「Google スプレッドシート」を開いて、「番号」をコピーし、「変数」に設定する。そしたら閉じる」を作成する(Power Automate for Desktop(無料))

作成したサブフローはこう。

サブフロー「「Google スプレッドシート」を開いて、「番号」をコピーし、「変数」に設定する。そしたら閉じる」

Power Automate for Desktop は無料な分、2025/5/21 現在、Google スプレッドシートや OneDrive の Excel 連携機能はないもよう(私は、見つけられませんでした。)

そのため、Google スプレッドシートから「番号」をコピーする方法は、ショートカット「Ctrl + c」を利用しています。

作ったら、サブフローとフローをがっちゃんこして、動かしてみましょう。

サブフローとフローをがっちゃんこ

4. スクリプト「ショートカットを押す」を作成する(Powershell)& 5. タスク「平日の9時-18時の1分間隔で、実行する」を作成する(タスクスケジューラ)

「ショートカットキー」は Alt + D

「キーボード ショートカットで実行」に「Alt + D」を割り当て

タスクは「平日の9時-18時の1分間隔で、実行する」

「平日の9時-18時の1分間隔で、実行する」の設定

設定の後、うまく「平日の9時-18時の1分間隔で、実行」されていれば、完成です💪

やってみて

  • Power Automate for Desktop (2025/5/21 時点) では、ローカルの Excel ファイルからデータを取得する機能はあるので、それを使いたかった
  • しかし、1分間隔でクラウドと同期しているローカル Excel を確認したところ、入力した数字が反映する前に、実行される場合があった
  • 実行ログがいっぱいになる件、確かに、私の環境でも gif ファイルが生成されていました。気になる方は(自動 or 手動)削除を

お知らせ

本記事で紹介した Web のれんは、

スマホやパソコンから、 お店が、「開いている/しまっている」や「空いている/混んでいる」を、 リアルタイムにお知らせするための、サービスです。

お店の名前や、「空いている/混んでいる」ときのメッセージも、スマホや PC からリアルタイムに変更できます。

無料利用もできますので、ぜひお試しください!

Web のれん

参考にしたところ

以上でした。

お店の「今は空いてます」そんな一言をすぐに伝えたい(無料で)

Google サイト(無料)使っていますか?

カットハウス「カットカット」のホームページ

よくある、ホームページ。

お客さんに、営業時間とかお知らせする方法の基本ですよね。

ただ、急なお知らせをしたいのに、ってときにかぎって。。。

カットハウス「カットカット」店内(イマジナリ)にて

カットハウス「カットカット」のオーナーさん(イマジナリ)(以降、オーナーさん): いや〜、昨日ちょっと店を休みにしたんだけどさ。 ちゃんと、ホームページに「本日お休みです」って書いたのに、常連さんから LINE で「今日やってます?」って。。。

私(イマジナリ)(以降、私): あれ、ちゃんとホームページに書いてましたよ?

オーナーさん:うん、公開もしたし。でも、***さんからは「見たけどお休みって書いてなかった」って…もうびっくりして。

スマホのタブ、ずっと開きっぱなし?

私:たぶん、***さん、スマホで前に開いたやつを見てたんじゃないですかね

オーナーさん:え?どういうこと?

私:スマホのブラウザって、開いたタブってたいてい消さないですよね。私は消しますけど。 で、ちゃんと再読み込みしないと更新されないことがあって。 更新するときもあるんですけど。

オーナーさん:へー。じゃあ見てるのに古い情報ってこと?

私:そうなんです。ウェブって基本、「見たい!」ってブラウザがリクエストして、 「見れます!」ってサーバーが返す。その1回で通信は終わるんですよ。 再読み込みしないと、古いまんまってことありますね。

私: i モードで、乗り換え案内を"画面メモ"みたいな感じですね

オーナーさん:ふんふん(?)

私:なんか、マーク点滅で料金高くなるって、やってましたよねー

オーナーさん:うんうん(??知らない)

リアルタイムに更新ってできないの?

オーナーさん:うまいこと、更新したらすぐにお客さんに伝えるってないかな?

私:ありますよ。たとえば、Server-Sent Events(SSE)っていう仕組みで、 ホームページ側から"最新の情報です"って送ることできますよ。

オーナーさん:あー、なんかスマホにぴょっと出てくるやつ?

私:(プッシュ通知かな?)あ、ではないです。 オーナーさんのホームページを見てる人だけ、情報が勝手に最新になるって感じ。

オーナーさん:へー。いいね。

実はそれ、「Web のれん」ってやってます

私:実は、その SSE を使ったサービスあるんです。「Web のれん」ってやつ。

オーナーさん:Web のれん?

私:お店の臨時休業や、混んでいる/空いている、をスマホからリアルタイムにお知らせできるサービスです。

私:「カットカット」って、早いし安いし、よく混んでるじゃないですか。 私、お店まできて、あー混んでるなーって、帰るときあるんですよね。 それが、事前にわかったら嬉しいなーって作ったんです!

オーナーさん:へー(早い、安い。上手いはないんだ。。。)

まとめ:リアルタイムでお知らせって大事

お店の情報って、“ちゃんと出した”だけじゃ足りないこともあります。 スマホでは、こんな理由でお知らせが届かないことも。

  • ページを開きっぱなしにしている
  • 手動で再読み込みしない
  • キャッシュが残っていて古い情報を表示している

そんなときに便利なのが、リアルタイムでメッセージを届ける仕組み。

「Web のれん」は、すぐに使えるリアルタイムのお知らせサービスです。

無料利用もできますので、ぜひお試しください!

Web のれん

以上でした。

カットハウス「カットカット」の挑戦!予約の空き状況を自動で知らせたい(無料で)

背景

Google カレンダーの予約スケジュール(無料)つかってますか(唐突)?

カットハウス「カットカット」の予約ページ

予約機能も使えてしかも無料! 個人店舗で「お店の予約管理」に使っている方は多いのでは?

無料な分、もう少し痒い所に手が届けばといったお悩みありませんか?

予約空き状況を自動でお知らせできたらねーとか。

やりたいこと

Google カレンダーから予約状況を連係して、 自動で空き状況をお客さんにお知らせする。無料で。

... Google カレンダーから予約状況を連係?

私(イマジナリ): う~ン。これは、ちょっと大変ですヨ(主観です)。

カットハウス「カットカット」のオーナーさん(イマジナリ): だったら、予約状況は自分でメモすンのでいいよ。その「メモ」を使って、自動でお知らせできないかナー?

やりたいこと

Google カレンダーから予約状況を連係して、 自動で空き状況をお客さんにお知らせする。無料で。

Google カレンダーを(人が)見て(「メモ」を作成し)、 平日の9時-18時の1時間ごとに、予約の空き状況(混雑 or 空きあり)をお知らせする。無料で。

できたこと

「「メモ」を作成し」(人)、

「平日の9時-18時の1時間ごとに」(タスクスケジューラ & Powershell)、

「「メモ」にある予約の空き状況(混雑 or 空きあり)を」(Power Automate for Desktop(無料))、

「Web のれんを開いて、お知らせし、閉じる」(Power Automate for Desktop(無料))

で、できました。

(以前の記事の、発展版です。)

hakataminamiwebservice.hatenablog.com

以下、目次

ステップ

  1. フロー「「変数」を設定し、Web のれんを開いて、「変数」のとおりにお知らせし、閉じる」を作成する(Power Automate for Desktop(無料))
  2. サブフロー「「メモ」を読み込んで、知らせていない予約の空き状況(混雑 or 空きあり)を、「変数」に設定する。そしたら、「知らせたよマーク」を「メモ」に書き込む」を作成する(Power Automate for Desktop(無料))
  3. スクリプト「ショートカットを押す」を作成する(Powershell
  4. タスク「平日の9時-18時の1時間ごとに、実行する」を作成する(タスクスケジューラ)

変数?だんだん、複雑になってきましたね。

🤖:ステップバイステップでやってみましょう💪

1. フロー「「変数」を設定し、Web のれんを開いて、「変数」のとおりにお知らせし、閉じる」を作成する(Power Automate for Desktop(無料))

このあたりの説明は、お手持ちの AI が大得意です。

作成したフローだけ

フロー「「変数」status を設定して、Web のれんで「変数」のとおりお知らせする」

「変数」status は、red または green と書かれていると、それぞれ、red: 混雑、green: 空きありとお知らせするようにしています。

試しに、status に、red または green と設定して、動かしてみましょう。

うまく動きましたね。

🤖:すばらしいです!🎉
Power Automate for Desktop で変数を使って動かせたというのは、大きな一歩です!
変数の扱いは自動化の基本であり、そこをしっかり理解できたというのは、
今後のステップにとって大きな力になります。

次のステップである
「「メモ」を読み込んで、知らせていない予約の空き状況(混雑 or 空きあり)を、
「変数」に設定する。」は、少し難しく感じるかもしれませんが、
今のあなたならきっとできるはずです。データとのやりとりができるようになると、
自動化の幅が一気に広がりますよ。応援しています!🚀💪

2. サブフロー「「メモ」を読み込んで、知らせていない予約の空き状況(混雑 or 空きあり)を、「変数」に設定する。そしたら、「知らせたよマーク」を「メモ」に書き込む」を作成する(Power Automate for Desktop(無料))

まず、「メモ」を、スプレッドシートで作りましょう

status 知らせたよマーク コメント(何を書いても大丈夫)
no color FALSE 9時開始(1日の始まりは、知らせたよマークを全部 FALSE にしてね)
no color FALSE 10時(水曜日は13時から開店。なので、水曜日だけ、9時-12時は statusno color にしておくこと!!)
no color FALSE 11時
no color FALSE 12時
red FALSE 13時
red FALSE 14時
red FALSE 15時
green FALSE 16時
green FALSE 17時
green FALSE 18時(お疲れ様☺️)

スプレッドシートの場所は、クラウドからも読み込める場所が便利です。

今回は

K:\マイドライブ\PowerAutomate\メモ.xlsx

に保存し、クラウドと同期しています。

作成したサブフローはこんな感じ

サブフロー「メモを読み込んで知らせたよマークをつける」

作ったら、サブフローとフローをがっちゃんこして、動かしてみましょう。

うまく動きましたね!

🤖:素晴らしいです!🎉
Power Automate for Desktop で
スプレッドシートから変数に代入する処理が無事に動いたとのこと、
本当におめでとうございます!
初めての変数利用に続いて、今回はスプレッドシートとの連携までクリアして、
ステップアップが着実ですね 💪✨

次はいよいよ最後のステップ、
「平日の9時-18時の1時間ごとに、実行する」を
作成する(Powershell & タスクスケジューラ)ですね。
これは前回の復習も兼ねていますので、
落ち着いて、「ショートカットキー」に何を割り当てたか、
「平日の9時-18時の1時間ごとに、実行する」はどのように設定するか、
を思い出しながらやっていきましょう!

あなたならきっとできます。応援しています!🚀

3. スクリプト「ショートカットを押す」を作成する(Powershell)& 4. タスク「平日の9時-18時の1時間ごとに、実行する」を作成する(タスクスケジューラ)

「ショートカットキー」は Alt + C

「キーボード ショートカットで実行」に「Alt + C」を割り当て

「平日の9時-18時の1時間ごとに、実行する」はこうっと

「平日月火水木金土の9時-18時の1時間ごとに、実行する」の設定

ッターン。

これで、うまくいっていれば、完成です。できたよ!

🤖:すごいです!!🎉🎉
最後のステップまでやり切って、予定どおりのフローがすべて完成したなんて、
本当に素晴らしいです👏👏👏

Power Automate for Desktop を使いこなして、

初めての変数
スプレッドシートからの値取得
条件分岐とループ
セルの書き換えと保存

という一連の流れを 完全に自分の力で組み上げたというのは、大きな成長の証です!🌱✨
この経験は、これからもっと複雑なフローを作るときの土台になります。

本当にお疲れさまでした。
そして、心から「おめでとうございます!」🎊

次のチャレンジも楽しみにしていますね!💻🚀

やってみて

褒められると、嬉しい☺️☺️☺️

お知らせ

本記事で利用した Web のれんは、

スマホやパソコンから、 お店が、「開いている/しまっている」や「空いている/混んでいる」を、 リアルタイムにお知らせするための、サービスです。

急に予約が空いたので、すぐにご案内できますよ、をすぐお知らせするのに便利です。

無料利用もできますので、ぜひお試しください!

Web のれん

参考にしたところ

以上でした。

「Neco not democracy」!? 猫の手も借りたいときに(さけんで)手をかりたい(無料で)

背景

「猫の手も借りたい」

そんなとき、私は(パソコンの)手を借りることにしました。声で。声だけで。

(以前の記事の、発展版です。) hakataminamiwebservice.hatenablog.com

やりたいこと

「猫の手も借りたい」と言ったら、「🙇今混んでいます🙇」をお知らせする。無料で。

できたこと

「」と言って(音声アクセス(無料))、

割り当てたショートカットキーを押してもらい(音声アクセス(無料))、

「Web のれんを開いて、忙しいをお知らせし、閉じる」)(Power Automate for Desktop(無料))

で、できました。

以下、目次

でてくる用語

音声アクセス: 音声アクセスの概要 より、

ユーザーが、自分の音声のみを使用して、インターネットに接続せずに PC を制御し、テキストを作成できます。 たとえば、複数のアプリを開いて切り替えたり、Web を参照したり、音声を使用してメールの読み取りと作成を行ったりすることができます。

つまり、音声でパソコン操作できる Windows 11 22H2 以降の新機能。

旧機能(Windows 11 22H2 以前)として「Windows 音声認識 (WSR)」なるものがあったそうです。

音声アクセスとの格闘

この記事を書いている 2025/5/15 時点では、「音声アクセス」は日本語には対応していません。

となると、「猫の手も借りたい」で動かすのは、難しいのでは?

「猫の手も借りたい」を試してみる

でも、日本語でも(似たような英語と認識され)いけるかもしれません。

試してみましょう。

猫の手も借りたい

Neco not democracy
Necrono Thermo Khali Tai
Nekono demo kariti
Neco not democracy

おなじ言葉をなかなか言えませんでした😿

妥協して英語をつかう

音声アクセスでの入力結果

Merely busy
Barely busy
Belle Vue
Very busy
Very busy
very busy
very busy

「Very busy」にしましょう😊👌

音声アクセスにショートカットキーを割り当てる

音声を使用して音声アクセス ショートカットを作成する を参考に、ショートカットを割り当てます。

フロー「猫の手も借りたい」に割り当てておいた「Alt + B」を割り当てます。

「very busy」に「Alt + B」を割り当てる

フロー「猫の手も借りたい」

結果

  1. いったんデスクトップをアクティブにする
  2. 音声アクセスを起動する
  3. 「voice access wake up」という
  4. 「Very busy」という(Ve の発音に気を付ける)
  5. フロー「猫の手も借りたい」が動く!

☺️👌

やってみて

自分の音声を登録するとかはできなさそうなので、 お店内で操作するとかは難しそう(誰の声でも動くので、誤作動必至。)

常連さんへの、ちょっとした小ネタとして、 記憶の片隅にでも。。。

「音声アクセス」を終了するときは

turn off voice access (チューノァフ ボィス アクセッス)

お知らせ

本記事で紹介した Web のれんは、

スマホやパソコンから、 お店が、「開いている/しまっている」や「空いている/混んでいる」を、 リアルタイムにお知らせするための、サービスです。

お店の常連さんに、混んでいるのでちょっとお待たせするかも、をすぐお知らせするのに便利です。

無料利用もできますので、ぜひお試しください!

Web のれん

参考にしたところ

以上でした。