🐶
PowerAppsで全角から半角へ変換するカスタム関数の作成
全角数字から半角数字へ変換するカスタム関数
数字の変換処理ですが、全角カナ⇒半角カナ、ひらがな⇒カタカナなどの変換にも対応できます。
出来上がりイメージ
作成方法
キャンバスアプリの作成
タブレットで作成してみました。
アプリの設定
設定>近日公開の機能>試験段階 の 拡張コンポーネントのプロパティをオンにします。
コンポーネントの作成
-
新しいコンポーネントを作成する
コンポーネント>+新しいコンポーネント
コンポーネント名を『CompConvertNum』に設定
-
サイズを小さく
アプリ上に表示するものではなく、関数と利用するものなので小さくしておきましょう
CompConvertNumのサイズを幅と高さを10に設定しました。
-
関数を作成する
+新しいカスタム プロパティを選択し 各値を設定します
プロパティの型:関数
プロパティ定義:出力
データ型:テキスト
-
パラメーターを作成
+新しいパラメーターを選択し 各値を設定します
データ型:テキスト
必須:✓
-
作成ボタンを押す
【作成】ボタンを押してカスタムプロパティを作成します -
変換処理の作成
作成したカスタムプロパティをクリックし、下記処理を追加する
▼コピペ用
With({tblNumList:Table(
{key:"1",val:"1"},{key:"2",val:"2"},{key:"3",val:"3"},{key:"4",val:"4"},{key:"5",val:"5"},
{key:"6",val:"6"},{key:"7",val:"7"},{key:"8",val:"8"},{key:"9",val:"9"},{key:"0",val:"0"}
)},
With({tblResult:
AddColumns(
Split(strInput,"") As SPLT,
"strOutput",
Coalesce( LookUp(tblNumList,key=SPLT.Value,val),SPLT.Value)
) },
Concat(tblResult,strOutput)
)
)
スクリーンでコンポーネントを利用する
-
作成したコンポーネントとテキスト入力を追加
-
テキストに呼び出し処理を追加
追加したTextInput1のOnChangeプロパティへ下記処理を設定
▼コピペ用UpdateContext({_strCnvt:CompConvertNum_1.ZenkakuToHankaku(Self.Text)});
さらにDefaultプロパティへ下記処理設定
-
完了
上記で処理が完成となります
補足
カスタムプロパティの処理で、全角と半角の対応表のようなテーブルを作成することで対応しました。そのため、この対応表をカスタマイズすることで、かな⇒カナの変換などの対応が可能です。
また、アルファベットのA⇒aなどの大文字小文字変換はUpper関数Lower関数が存在するのでそちらを使うと便利です。
Discussion