
Microsoft社が提供する、Azure AI 翻訳サービスとローコード開発ツール「Power Platform」のアプリ機能(Power Apps)を使用した、ドキュメント翻訳アプリの作成例を紹介します。
これにより、アプリからアップロードしたファイル(pdfやwordなど)のAIによる翻訳結果ファイルを取得できるようになります。
- 操作環境:
- OS:Windows 11
- Webブラウザー:Edge
- 使用プラン:
- Power Apps:Microsoft 365 Business Premium(試用版)
- Azure:従量課金制
- Azure AI 翻訳:F0(フリー)
SharePointリスト用意
SharePointの任意のサイトにアクセスし、左メニューの[サイトコンテンツ]を選択し、[新規>リスト]を選択します。

今回は移行データがないので[空白のリスト]を選択します。
SharePointリストの名前を適宜入力し、[サイトナビゲーションに表示]のチェックを外し(今回はSharePointリストのデータを直接更新するのではなく、アプリ越しにデータ更新するため)、[作成]を選択します。

[列の追加]より、前の記事の最初の方の表で整理した取扱い項目を追加します。
なお、表の最後の2行[ID]と[添付ファイル]はシステム内で自動作成される項目ですので、[列の追加]からの設定は不要です。

追加した列の設定はこのようになっています。

対応必須ではありませんが、作成したSharePointリストの列の順序を整えておきます。
右上の設定アイコンを選択し、[リストの設定]を選択します。

自動作成されるタイトルは、今回作成するアプリでは使用しないため、順序を一番最後にします。

これも対応必須ではありませんが、[列の追加>列の表示と非表示を切り替える]を選択し、タイトルを非表示、IDや添付ファイルを表示に変更すると、より管理しやすくなります。

PP管理C 従量課金用アプリ環境作成
Power Appsでアプリを作成する前に、Power Platformの従量課金用の環境を作成します。
Power Platform管理センターにアクセスし、左メニューの[ポリシー>請求ポリシー]を選択します。

請求ポリシーの名前を適宜入力し、[次へ]を選択します。

Azureサブスクリプションとリソースグループは、前の記事で設定したものを選択し、地域は使用環境に近い場所を選択し、[次へ]を選択します。

環境はこの後作成して請求ポリシーに紐づけるため、この画面では何も指定せず、[次へ]を選択します。

設定内容を確認し、問題なければ[請求ポリシーの作成]を選択します。

[請求ポリシーを更新する]を選択し、新しい請求ポリシーが正常に作成された旨のメッセージが表示されれば問題ありません。

左メニューの[環境]を選択し、[新規]を選択します。

以下の通り設定し、[保存]を選択します。
- 名前:(従量課金であることが分かる環境名)
- 種類:実稼働(ユーザーにアプリを利用させる場合)
- Azureの従量課金制とは?:はい
- 請求ポリシー:(図表8-2から5で作成した請求ポリシー)

Power Apps画面にアクセスし、右上の環境欄を選択し、図表8-8で作成した従量課金用の環境を選択して切り替えます。

従量課金用の環境に切り替わりました。
次の工程から、この環境の下にアプリを作成していきます。

アプリ実装:基本部分
[新しいアプリ>ページデザインで開始する]を選択します。
今回はキャラリーアプリから作成すると、不要な部品が多くなるため、空のキャンバスの[電話]を選択し、その上の[+]アイコンを選択します。

左メニューの[データソース]アイコンを選択し、[データの追加]を選択します。
[コネクタ]下に表示される以下のデータソースを追加します。
- Office365ユーザー
- SharePoint(この記事の最初に作成したSharePointリスト)

左メニューの[ツリービュー]アイコンを選択し、[新しい画面>フォーム]を選択します。
さらに同じく 、[新しい画面>リスト]を選択します。

左のツリービューにて追加した画面の名前を変更します(右クリックで[名前の変更]を選択)。
- 追加したフォームの名前:ScreenCreate
- 追加したリストの名前:ScreenHistory
また、元々用意されていた画面(Screen1)は不要のため、削除します。
続けて、上メニューの[…>設定]を選択します。

以下の通り、全般設定を行います。
- 名前:(適宜設定)
- アイコン・背景色:用途や好みに応じて設定
- 自動保存:好みに応じてオフ/オンを変更
- データ行の制限:2000(最大値)

アプリ実装:履歴画面
左側ツリービューの[ScreenHistory>BrowseGallery1]を選択し、[データソースの選択]が表示されたら、この記事の最初に作成したSharePointリストを選択します。

左側ツリービューの[ScreenHistory>BrowseGallery1]を選択した状態で、右側プロパティの[ディスプレイ>レイアウト]を選択し、[タイトル、サブタイトル、本文]に変更します。

フォーム画面のタイトルを選択し、右側プロパティの[ディスプレイ>テキスト]を選択し、アプリ名を入力します(この例では[ドキュメント翻訳])。

上メニューの[挿入]から、以下の通り部品を追加し、分かりやすい名前に変更します。
- テキストラベル:2個:lblDateRange、lblHistory
- 日付の選択:2個:dateStart、dateEnd

画面イメージのような配置に調整します。
また、日付項目のDafaultDateプロパティの設定は以下の通りとします。
- dateStart:DateAdd(today(), -365)
- dateEnd:today()

翻訳履歴の[>]アイコンを選択し、右側プロパティの[ディスプレイ>アイコン]を選択し、[下矢印]を選択します。

続けて、このアイコンのサイズや文字の色等も目立つように適宜変更します。

翻訳履歴の表示項目を調整します。
一行目はファイル名を表示します。
- 名前:lblFileName
- Text:ThisItem.file_name

二行目は作成日時を表示します。
- 名前:lblCreateAt
- Text:DateAdd(DateAdd(ThisItem.create_at, TimeZoneOffset(),TimeUnit.Milliseconds), -9, TimeUnit.Hours)

三行目は作成者と翻訳後言語を表示します。
- 名前:lblCreateUserAndLanguage
- Text:If(IsBlank(ThisItem.create_user),"",Office365ユーザー.UserProfileV2(ThisItem.create_user).displayName) & " / " & ThisItem.language

左側ツリービューの[ScreenHistory>BrowseGallery1]を選択し、[Items]プロパティを以下の通り設定します。
Sort(
Filter([@ドキュメント翻訳],
TextSearchBox1.Text in file_name &&
dateStart.SelectedDate <= DateAdd(create_at, -9, TimeUnit.Hours) &&
DateAdd(create_at, -9, TimeUnit.Hours) <= dateEnd.SelectedDate &&
User().Email = create_user
),
ID,
If(SortDescending1, SortOrder.Ascending, SortOrder.Descending)
)

最後に、右上のアイコンを選択したときの動きを設定をします。
更新アイコンの設定は以下の通りとします。
- OnSelect: Refresh([@ドキュメント翻訳])

作成アイコンの設定は以下の通りとします。
- OnSelect: Navigate(ScreenCreate, ScreenTransition.None)
なお、並べ替えアイコンの設定は変更不要です。

次の記事に続きます。
当ブログ内の連載記事