2025年8月8日金曜日

PowerAutomateで正規表現を使う方法

  1. エクセルで入力テーブルと出力テーブルを作る。
  2. 出力テーブルに、入力テーブルを参照して、目的の出力が得られるように式を作る。
  3. PowerAutomateでエクセルの行の更新で入力テーブルを更新して、行の取得で出力テーブルを取得する。

タイムラグが心配だったが、トラブルは起きていない。


入力用 (青い部分が入力テーブル)
Index Subject Body
1 【システム】予約 (ID:12345678) 予約のお知らせ

品目: いろはにほへと
日時: 2025/8/1 10:00

以上


出力用 (青い部分が出力テーブル)
カラム Subject Subject Body Body
正規表現 ^.*】(.*) \(ID:(.*)\)$ ^.*】(.*) \(ID:(.*)\)$ ^[\s\S]*品目:[  ]*(.*)\n[\s\S]*日時:[  ]*(.*)\n[\s\S]*$ ^[\s\S]*品目:[  ]*(.*)\n[\s\S]*日時:[  ]*(.*)\n[\s\S]*$
位置 1 2 1 2
Index Class Id 品目 時刻
1 予約 12345678 いろはにほへと 2025/8/1 10:00


出力テーブルの値を得る抽出式は、 = REGEXREPLACE(INDIRECT("入力テーブル[@"& INDEX(2:2, COLUMN()) &"]"), INDEX(3:3, COLUMN()), "\" & INDEX(4:4, COLUMN()))

Excelでタイムゾーンを変更する方法

日付表記法の、2025-08-08T05:06:06+00:00といったようなISO 8601形式の表記をエクセルの認識できる日付に変換するための数式。

= LET(Arry,TEXTSPLIT(SUBSTITUTE(SUBSTITUTE(A3,"T"," "), "Z", ""), "+"), VALUE(CHOOSECOLS(Arry, 1)) + VALUE(IFERROR(CHOOSECOLS(Arry, 2), 0))) + VALUE("9:00"))

  • 20250808T050606には対応しない。

2025年7月16日水曜日

PowerAutomateでメールを作成する際に改行を入れる方法

PowerAutomateで、Formsでの回答文を使ってメールを作る場合、改行は無視されてしまう。

原理はおそらく、Formsの改行コードと Outlookの改行コードに互換性がないため。

単純に replace(文字列, Formsの改行コード, メーラーの改行コード) のように置き換えられれば簡単だが、Formsの改行コードが不明のため、何を置き換えればよいかわからないし、苦労して分かったとしても今後どうなるか心配なので、別の方法を使うのが賢明。方法としては次の機能を使う。

  • uriComponent は文字列を %0A%1B%?? のようなuriエンコードする関数だが、これを使うと改行コードは一貫して %0A として返してくれる。
  • 一方、PowerAutomateでのメール作成は、HTMLが標準となっているので <br> という文字列で改行してくれる。

これらを利用すると、以下のコードで、Formsの回答文章を、改行ありのメール文章に変換することができる。

uriComponentToString(
  replace(
    uriComponent(Formsの回答文章),
      '%0A',
      uriComponent('<br>')
    )
  )

細かい説明をすると、
  • uriComponentToString はuriエンコードされた文字列を普通の文字列に戻している。
  • replace は単純な置き換え関数
  • 最初の uriComponent は、文章を uriエンコードして、改行を %0A に変換してくれる。
  • 次の uriComponent は、<br> を uriエンコードする。
方法を説明しているサイトを参照しましたが、<br> をuriエンコードしていない場合があったので、バージョンによっては、uriComponentToString はuriエンコードされていない文字列はスルーしてくれるかもしれないです。私が使っているバージョンではエラーが発生します。

2025年7月15日火曜日

PowerAutumateのコメント

PowerAutomateは、コメントを入れるのにかなり苦労するので、手順をメモ。

  • 各アクションにノートを加えられるので、これを使うのが一番手軽。
  • 上の方法だと、全体に対するコメントが入れられないので、全体に対するコメントを書きたい場合は、トリガーの次の最初のアクションに、「JSONの解析」アクションを追加して、コメントを追加するのが、今のところ一番有力。この方法はスキームを作らないといけない面倒さがあるが、一方で自動で構造化してくれる便利さがある。追記:コメントではスキームを正しく作ることは必須ではなかった。

2023年7月29日土曜日

ホームページ的なbloggerの作り方

ここに同じような志の方が参考になる情報を公開している。

https://hima-tama.blogspot.com/p/blog-page_80.html?m=1

読むのは時間がかかりそう。

2021年6月26日土曜日

サルビア・ミクロフィラ

 

よく見る花のわりに、名前を調べてみると「サルビア・ミクロフィラ」、ミクロフィラの部分は馴染みのない花。

サルビアの名前は馴染みがあるし、画像を見ると馴染みのある花ではあるけれど、バリエーションが豊富過ぎて、ヒットした候補の中にミクロフィラは見つけられない。

チェリーセージとも呼ぶらしく、サルビアとセージとを調べてみると、セージは昔サルビアと読んでいて、サルビアと呼ばれている種と紛らわしいからセージと呼ばれるようになったらしいから、どう呼ぶべきなのか悩ましい。

もう少し調べてみると、Salvia属をアキギリ属と呼んで、splendens種をサルビア種と呼んでしまっているあたりに問題があるっぽい。officinalis種をサルビアが訛ったというセージと呼んで読んでしまったから更にややこしくなっている。ここまで来て、変な対立があるだけなんだなと気づいた。

ホットリップスとも呼ばれて、この方が見た目を表していて親しみやすい気がする。

2021年1月31日日曜日

忘れてしまっているブロク

こんなところに作ったまま忘れてしまっているブロクがあった。 このGoogleが運営しているブログは広告が入らないでいい感じなのに、あまり、いやほとんど見ない。