🐶

PowerAppsで全角から半角へ変換するカスタム関数の作成

2023/09/22に公開

全角数字から半角数字へ変換するカスタム関数

数字の変換処理ですが、全角カナ⇒半角カナ、ひらがな⇒カタカナなどの変換にも対応できます。

出来上がりイメージ

作成方法

キャンバスアプリの作成

タブレットで作成してみました。

アプリの設定

設定>近日公開の機能>試験段階 の 拡張コンポーネントのプロパティをオンにします。

コンポーネントの作成

  1. 新しいコンポーネントを作成する
    コンポーネント>+新しいコンポーネント
    コンポーネント名を『CompConvertNum』に設定

  2. サイズを小さく

    アプリ上に表示するものではなく、関数と利用するものなので小さくしておきましょう
    CompConvertNumのサイズを幅と高さを10に設定しました。

  3. 関数を作成する
    +新しいカスタム プロパティを選択し 各値を設定します
    プロパティの型:関数
    プロパティ定義:出力
    データ型:テキスト

  4. パラメーターを作成
    +新しいパラメーターを選択し 各値を設定します
    データ型:テキスト
    必須:✓

  5. 作成ボタンを押す
    【作成】ボタンを押してカスタムプロパティを作成します

  6. 変換処理の作成
    作成したカスタムプロパティをクリックし、下記処理を追加する

    ▼コピペ用

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) 
    ) 
) 

スクリーンでコンポーネントを利用する

  1. 作成したコンポーネントとテキスト入力を追加

  2. テキストに呼び出し処理を追加
    追加したTextInput1のOnChangeプロパティへ下記処理を設定

    ▼コピペ用

    UpdateContext({_strCnvt:CompConvertNum_1.ZenkakuToHankaku(Self.Text)});	
    

    さらにDefaultプロパティへ下記処理設定

  3. 完了
    上記で処理が完成となります

補足

カスタムプロパティの処理で、全角と半角の対応表のようなテーブルを作成することで対応しました。そのため、この対応表をカスタマイズすることで、かな⇒カナの変換などの対応が可能です。
また、アルファベットのA⇒aなどの大文字小文字変換はUpper関数Lower関数が存在するのでそちらを使うと便利です。

Discussion