🐶
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関数が存在するのでそちらを使うと便利です。
全角アルファベットから半角アルファベットへ
With({tblNumList:Table(
{key:"A",val:"A"},{key:"B",val:"B"},{key:"C",val:"C"},{key:"D",val:"D"},{key:"E",val:"E"},
{key:"F",val:"F"},{key:"G",val:"G"},{key:"H",val:"H"},{key:"I",val:"I"},{key:"J",val:"J"},
{key:"K",val:"K"},{key:"L",val:"L"},{key:"M",val:"M"},{key:"N",val:"N"},{key:"O",val:"O"},
{key:"P",val:"P"},{key:"Q",val:"Q"},{key:"R",val:"R"},{key:"S",val:"S"},{key:"T",val:"T"},
{key:"U",val:"U"},{key:"V",val:"V"},{key:"W",val:"W"},{key:"X",val:"X"},{key:"Y",val:"Y"},{key:"Z",val:"Z"},
{key:"a",val:"a"},{key:"b",val:"b"},{key:"c",val:"c"},{key:"d",val:"d"},{key:"e",val:"e"},
{key:"f",val:"f"},{key:"g",val:"g"},{key:"h",val:"h"},{key:"i",val:"i"},{key:"j",val:"j"},
{key:"k",val:"k"},{key:"l",val:"l"},{key:"m",val:"m"},{key:"n",val:"n"},{key:"o",val:"o"},
{key:"p",val:"p"},{key:"q",val:"q"},{key:"r",val:"r"},{key:"s",val:"s"},{key:"t",val:"t"},
{key:"u",val:"u"},{key:"v",val:"v"},{key:"w",val:"w"},{key:"x",val:"x"},{key:"y",val:"y"},{key:"Z",val:"z"}
)},
With({tblResult:
AddColumns(
Split(strInput,"") As SPLT,
strOutput,
Coalesce(LookUp(tblNumList,key=SPLT.Value,val),SPLT.Value)
) },
Concat(tblResult,strOutput)
)
)
Discussion