はじめに
PowerAutomateで文字列中の全角を半角に修正する場合、文字一つ一つをreplaceする方法が最初に思い浮かびますが、余りにも労力がかかりすぎるため一括変換する手法は無いか考えてみました。
正攻法
まず考え付くのは上述の通りreplace関数を使い、置き換えていく方法ですね。
こんな感じで全ての文字を対象にreplaceします。
アルファベットまで含めると途方もない数になってしまいかなり面倒です。
逃げ道
そういえばExcelにASC関数(全角を半角に変換する関数)があったことを思い出し、ExcelOnlineを経由すればPowerAutomate上でも可能なのではないかと思い、トライしました。
まずExcelで、変換対象文字列を入れるテーブルを作成し、OneDrive配下に格納します。
今回はテストのため、手動で変換対象文字列を送るトリガーを作成しました。
変換対象の文字列が渡せればなんでも良いです。
先ほど作成したExcelファイルに行を追加するコネクタを追加。
ExcelOnlineの「表に行を追加」アクションを使用します。
変換対象文字列の欄に、「=ASC("変換対象文字列")」を入力してください。
実行と結果
結果は下記。謎の一行目ができていますが、ちゃんと変換されてますね。
まとめ
今回はPowerAutomate上で全角を半角に一括変換するフローを作成しました。
使用したのはASC関数でしたが、(ExcelOnlineを経由してよいのであれば)PowerAutomate上で疑似的にExcel関数を使うことができることに気が付くきっかけとなりました。
今後のフロー作成にも役立ちそうです。