この章では、統合Excelワークブックに対話性オプションを追加する方法、データ・バインド検索フォームと値の依存値リストを作成してリボンタブを構成する方法、およびExcel式でEL式を使用する方法について説明します。
この章の内容は次のとおりです。
アクション・セットなどの機能を使用し、実行時リボン・タブの構成や依存値リストの作成によって、統合ワークブックをエンド・ユーザーに対して対話形式にすることができます。図8-1は、対話機能のいくつかを示します。
統合Excelワークブックに対話性を追加すると、エンド・ユーザーがワークブックでOracle ADFの機能を起動するアクション・セットを実行できるようになります。また、これらのアクション・セットの実行時に統合Excelワークブックでステータス・メッセージやアラート・メッセージ、エラー処理も提供されます。アクション・セットを起動するADFデスクトップ統合コンポーネントでのエンド・ユーザーの動作(ダブルクリック、クリック、選択)の他に、エンド・ユーザーが実行時にアクション・セットを起動するために使用する、ワークブックおよびワークシート・リボン・ボタンを構成できます。
統合Excelワークブックに対話性を追加するために、エンド・ユーザーの動作により起動されるアクション・セットを使用できます。たとえば、図8-2に示すように、EditableCustomerSearch-DT.xlsx
の顧客のフィルタリボン・コマンドでは、複数のアクション・セットを使用して検索条件に一致するデータをフィルタします。
図8-3は、EditCustomerSearch.xlsx
に実装されているカスタムの実行時リボン・タブの例を示します。
アクション・セットと実行時リボン・タブの他に、その他の機能を追加してワークブックを構成できます。使用可能な他の機能へのリンクは次のとおりです。
Webページの表示: Excelワークブックと統合するFusion Webアプリケーションからページを表示できます。詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。
依存値リスト: ADF値リスト・コンポーネントを、別の値リスト・コンポーネントによって値が決まる依存値リスト・コンポーネントとして構成できます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。
スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、9.2項「スタイルの使用」を参照してください。
マクロ: マクロとExcel式を使用して、Fusion Webアプリケーションからダウンロードするデータ、またはFusion Webアプリケーションにアップロードするデータを管理します。詳細は、8.10項「統合Excelワークブックでの計算済セルの使用」と8.11項「統合Excelワークブックでのマクロの使用」を参照してください。
アクション・セットは、特定の順序で実行される1つ以上のアクションからなる、順序付けされたリストです。アクションのタイプには次のようなものがあります。
ADFmAction
ComponentAction
WorksheetMethod
Confirmation
Dialog
アクション・セットは、エンド・ユーザーの動作(クリックやADFボタンなど)またはExcelワークシート・イベントによって起動できます。エンド・ユーザーの動作によってアクション・セットが起動される場合、ADFコンポーネントのプロパティ・インスペクタのアクション・セットのプロパティ名には、必要な動作の名前が先頭に付きます。次のリストは、ADFデスクトップ統合がプロパティ・インスペクタで表示するプロパティ名と、アクション・セットを起動するユーザーの動作を示します。
ClickActionSet
はADFボタン・コンポーネント用で、エンド・ユーザーが関連するアクション・セットを起動するためにボタンをクリックするときに使用します。
DoubleClickActionSet
はADF入力テキストまたはADF出力テキスト・コンポーネント用で、エンド・ユーザーが関連のアクション・セットを起動するためにこれらのコンポーネントをダブルクリックするときに使用されます。
SelectActionSet
はワークシート・リボン・ボタン用で、エンド・ユーザーが関連のアクション・セットを起動するためにボタンを選択したときに使用されます。
ActionSet
はワークシート・イベント用で、アクション・セットを起動するときに明示的なエンド・ユーザーの動作は必要ありません。
ADFコンポーネントやワークシート・リボン・ボタン、またはワークシート・イベントから「アクションの編集」ダイアログを起動して、アクション・セットを定義あるいは構成します。アクション・セットが起動するアクションを定義する他に、アクション・セットのAlert
プロパティを構成して、アクション・セットの起動の結果に対するフィードバックを提供できます。アクション・セットのStatus
プロパティを構成して、アクション・セットが定義されたアクションを実行する際に、エンド・ユーザーにステータス・メッセージを表示します。「アクションの編集」ダイアログの詳細は、5.12項「コレクション・エディタの使用」を参照してください。
ADFデスクトップ統合のSummitサンプル・アプリケーションには、使用されるアクション・セットの多くの例が用意されています。1つの例は、EditCustomers-DT.xlsx
ワークブックで実行時にUploadというラベルの付くリボン・コマンドです。このリボン・コマンドには、ADF表コンポーネントのUpload
アクションを起動するアクション・セットが構成されています。図8-4は、設計モードでのアクションの編集ダイアログを示しています。
ヒント: アクションの編集ダイアログに追加するアクションごとに、「注釈」フィールドに説明を記述します。記述する説明はMembersリスト・ビューに表示されます。記述内容によっては、ADFデスクトップ統合が生成するデフォルトのエントリよりも意味をなす場合があります。 |
注意: ADFデスクトップ統合は、 Membersリスト・ビューで指定した順にアクション・セット内のアクションを起動します。 |
1つのアクション・セットで複数のメソッド・アクション・バインディングを起動できます。ページ定義ファイルは、Fusion Webアプリケーションと統合するワークシートで起動可能なアクション・バインディングを定義します。統合Excelワークブックのページ定義ファイルとアクション・バインディングの詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。
「アクションの編集」ダイアログを使用して、起動するメソッド・アクション・バインディングを指定します。
開始する前に:
アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
アクション・セットでメソッド・アクションを起動するには:
統合Excelワークブックを開きます。
「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。
ADFmActionを選択して、次のリストにあるようにプロパティを構成します。
ActionID
ActionID
の入力フィールドの横にある参照(...)アイコンをクリックして、バインディングIDピッカーを起動し、アクション・セットが起動するメソッド・アクション・バインディングを選択します。
Annotation
オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。
「OK」をクリックします。
ADFデスクトップ統合のADF表コンポーネントおよびADF読取り専用表コンポーネントは、Fusion Webアプリケーションと統合するExcelワークシート間のデータ送信の管理に使用できるアクションを公開します。ADF読取り専用表コンポーネントは、1つのコンポーネント・アクションDownload
を公開しますが、ADF表コンポーネントは他の多くのアクションを公開します。両方のコンポーネントのアクションの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。
アクションの配列にあるコンポーネント・アクションを参照することで、1つ以上のコンポーネント・アクションを起動するアクション・セットを構成できます。たとえば、図8-5は、ワークシートのADF表コンポーネントとADF読取り専用表コンポーネントがSelectActionSet
アクション・セットから起動できる、コンポーネント・アクションの選択ダイアログを示します。
注意: アクション・セットによってADF表コンポーネントまたはADF読取り専用表コンポーネントのアクションを起動する前に、これらのコンポーネントをExcelワークシートに含める必要があります。 |
開始する前に:
アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
アクション・セットからコンポーネント・アクションを起動するには:
統合Excelワークブックを開きます。
「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。
ComponentActionを選択して、次のリストにあるようにプロパティを構成します。
ComponentID
ComponentID
の入力フィールドの横にある参照(...)アイコンをクリックして、「コンポーネント・メソッドの選択」ダイアログを起動し、アクション・セットが実行時に起動するコンポーネント・アクションを選択します。これによって、ComponentID
とMethod
の各入力フィールドに値が移入されます。
Action
アクション・セットが実行時に起動するコンポーネント・アクション。
Annotation
オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。
DetailStatusMessage
「ステータス・メッセージ」ウィンドウに表示されるオプションのEL式のリテラル値を指定します(8.2.5項「アクション・セットの実行中にステータス・メッセージを表示する方法」を参照)。
「OK」をクリックします。
統合Excelワークブックでのアクション・セットの動作に関する次の情報に注意してください。
アクション・セットを作成する際は、ワークシートに複数のインスタンスのADF読取り専用表コンポーネントまたはADF表コンポーネントが含まれる場合、正しいコンポーネントのインスタンスからコンポーネント・アクションを起動するようにしてください。図8-6は、2つのインスタンスのADF読取り専用表コンポーネントを持つコンポーネント・アクションの選択ダイアログを示します。表A-1に示すComponentID
プロパティの値を使用して、コンポーネント・アクションを起動するコンポーネントのインスタンスを正しく識別してください。
エンド・ユーザーはFusion Webアプリケーションから切断されている間、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」の説明に従って、統合Excelワークブックを使用できます。ADF表コンポーネントのDownload
アクションのような一部のコンポーネント・アクションを正常に完了するには、Fusion Webアプリケーションへの接続が必要です。このようなコンポーネント・アクションが含まれるアクション・セットをエンド・ユーザーが起動する場合、統合ExcelワークブックはFusion Webアプリケーションに接続しようと試み、必要があれば11.2項「Excelワークブック・ユーザーの認証」で説明されている認証プロセスを起動します。
ADFデスクトップ統合には、ワークシート・イベントがいくつか用意されており、これはトリガーされるとアクション・セットを起動できます。次のワークシート・イベントはアクション・セットを起動できます。
Startup
Shutdown
Dialog
アクションのTarget
プロパティがTaskPane
に設定されている場合、このイベントからDialog
アクションを起動しないでください。
Activate
Deactivate
Events
ワークシート・プロパティによって参照されるイベントの配列(WorksheetEvent
リスト)に要素を追加します。イベントと、追加する要素の中でそれによって起動されるアクション・セットを指定します。Events
ワークシート・プロパティおよびアクション・セットを起動できるワークシート・イベントの詳細は、表A-22を参照してください。アクション・セットの詳細は、表A-17を参照してください。
「イベントの編集」ダイアログを使用して、ワークシート・イベントによって起動されるアクション・セットを指定します。
開始する前に:
アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
ワークシート・イベントからアクション・セットを起動するには:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。
「ワークシート・プロパティの編集」ダイアログで、Events
プロパティの入力フィールドの横にある参照(...)アイコンをクリックします。
「イベントの編集」ダイアログで、「追加」をクリックして、イベントおよびそれが起動する対応するアクション・セットを指定する新しい要素を追加します。
図8-7は、EditCustomers-DT.xlsx
ファイルの例を示しています。ここでは、ワークシート・イベントのStartup
が、ADF表コンポーネントのDownload
アクションを起動するアクション・セットを起動します。
「OK」をクリックします。
アクション・セットでStatus
プロパティの値を指定することにより、アクション・セットの実行時にエンド・ユーザーに対してステータス・メッセージおよび進捗バーを表示できます。
アクション・セットのStatusプロパティを使用しながら、進捗バーを使用して進行状況を視覚的に示すことができます。Status
プロパティのMode
属性により、実行時の進捗バーの外観を選択できます。メインの進捗バーと詳細進捗バーの、2種類の進捗バーが使用可能です。メインの進捗バーはアクション・セットのアクションを使用して進捗を示し、詳細進捗バーは現在のアクションの進捗を示します。
「アクションの編集」ダイアログを使用して、ActionSet.Status
プロパティの値を構成します。
開始する前に:
アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
ステータス・メッセージを表示するには:
統合Excelワークブックを開きます。
コンポーネントの「アクションの編集」ダイアログを開きます。
表8-1に従って、Status
プロパティ・グループのプロパティの値を設定します。
表8-1 Statusプロパティ・グループ
プロパティ | 入力または選択する値 |
---|---|
|
ステータス・ダイアログ・ボックスに「取消」ボタンを表示する場合は アクション・セットの実行をエンド・ユーザーが取り消せるかどうかを示します。 「取消」ボタンの詳細は、8.2.8項「アクションの取消しに関する必知事項」を参照してください。 |
|
|
|
実行時に表示するステータス・メッセージに解決されるオプションのEL式またはリテラル値。 たとえば、
|
|
実行時に表示するステータス・メッセージのタイトルに解決されるオプションのEL式またはリテラル値。 たとえば、
|
|
進捗バーの表示形式を選択します。
|
図8-8に、EditCustomers-DT.xlsx
ワークブックの「アップロード」リボン・コマンドのStatus
プロパティ・グループ用に構成された、プロパティ値およびそれに対応するビジュアル要素を示します。
Status
プロパティ・グループの詳細は、表A-17のStatus
のエントリを参照してください。
オプションのDetailStatusMessage
プロパティを使用して、追加の情報をユーザーに提供することもできます。DetailStatusMessage
プロパティの詳細は、8.2.2項「アクション・セットのコンポーネント・アクションの起動方法」を参照してください。
「OK」をクリックします。
アクション・セットが起動されると、Status
プロパティがステータス・メッセージを表示するように構成されていれば、ステータス・メッセージが表示されます。図8-9は、EditCustomers-DT.xlsx
ワークブックのUploadリボン・コマンドに構成されているアクション・セットが実行される際、実行時に表示されるステータス・メッセージを示しています。
実行時にMessage
プロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。Title
プロパティが空の場合、アクション・セット・コンテナ(ボタンまたはリボン・コマンドなど)のラベルが使用されます。コンテナのラベルも空の場合、ADFデスクトップ統合により提供されたデフォルト値が使用されます。
AllowCancel
プロパティがTrue
に設定されている場合、エンド・ユーザーがアクション・セットを取り消せる「取消」ボタンが表示されます。エンド・ユーザーがアクション・セットを取り消すと、「取消」ボタンが無効になり、操作を取り消したことをユーザーに通知する警告メッセージが表示され、アクション・セットが中止されます。
ヒント: アクション・セットの操作を取り消すには、エンド・ユーザーはキーボードのスペース・バーを押します。 |
進捗バーに関する次の情報に気をつけてください。
アクション(alert
、confirm
、dialog
またはupload options
など)がユーザーの入力を求めると、進捗バー・ウィンドウは自動的に非表示になります。
ADFmAction
などの一部のアクション・タイプは、詳細バーでの進捗の増分の表示をサポートしていません。たとえば、図8-10に、Mode
がBothBarsAlways
に設定されたCommit
アクションの進捗バーを示します。詳細バーは表示されていますが、進捗を示してはいないことに注意してください。
Automatic
モードで、アクション・セットに3つよりも少ないアクションしかない場合、ステータス・メッセージ・ダイアログには詳細な進捗バーのみが表示されます。アクション・セットに3つ以上のアクションがある場合、ダイアログにメイン・バーは必ず表示されますが、詳細な進捗バーは、アクション・セット内のいずれかのアクションが進捗の増分に対応している場合にのみ表示されます。どのアクションも進捗の増分に対応していない場合は、詳細バーは表示されません。
必要な場合、メインの進捗バーを表示せずに、詳細な進捗バーを表示することができます。このような構成は、問合せを実行した後にデータをダウンロードするといった、1つのすばやいアクションと1つの長いアクションを含むアクション・セットには有用な場合があります。
非常にすばやいアクション・セット(DisplayWorksheetErrors
など)の場合、ベスト・プラクティスはステータス・メッセージを無効にすることです。
アクション・セット内の各アクションは、中断不能、中断可能またはダイアログとして分類できます。
中断不能アクションはアトミックであり、操作中に取消しまたは中断できません。次のアクションは中断不能です。
ワークシート・アクション: UpSync
、DownSync
ADFm
アクション
表アクション: RowUpSync
、RowDownSync
、ClearCachedRowAttributes
、FlagAllRows
、UnflagAllRows
、MarkAllRowsChanged
、MarkAllRowsUnchanged
、Initialize
中断不能アクションの実行中に「取消」ボタンがクリックされると、次の処理が行われます。
現在のアクションが完了します。
アクション・セットが中止され、失敗としては扱われません。
ActionSet.Alert
がスキップされます。
アクション・セットに対して構成されている成功または失敗アクションは実行されません。
Worksheet.Errors
の値は変更されません。
中断可能アクションは、操作中に取り消すことができます。次の表アクションは中断可能です。
Upload
、UploadAllOrNothing
Download
、DownloadFlaggedRows
、DownloadForInsert
DeleteFlaggedRows
中断可能アクションの実行中に「取消」ボタンがクリックされると、次の処理が行われます。
現在の操作が完了せずに停止します。
表がクリーンアップされます。
Upload
アクション: 「取消」ボタンがクリックされる前に正常にアップロードされた行の場合は、「変更済」列セル・フラグがクリアされるかそのまま残され、CommitBatchActionID
アクションが実行されます。アップロード中に行が失敗した場合、「変更済」列セルは影響を受けず、エラー・ステータスが表示されます。アップロードされていない行の「変更済」列には変更済ステータスが引き続き表示され、「ステータス」列は変更されません。
UploadAllOrNothing
アクション: CommitBatchActionID
アクションは実行されません。すべての行の「変更済」列フラグは設定されたままになります。失敗した行ではエラー・メッセージが表示されます。正常にアップロードされた行には「ステータス」セルがあり、エラー行は移入されません。
Download
、DownloadForInsert
アクション: 「取消」ボタンがクリックされる前にダウンロードされた行はそのままの状態になり、削除されません。表は適宜サイズ変更されます。
DownloadFlaggedRows
アクション: 「取消」ボタンがクリックされる前にダウンロードされたフラグ付きの行は、フラグ・セルがクリアされます。残りのフラグ付きの行にはフラグ・ステータスが引き続き表示されます。
DeleteFlaggedRows
アクション: 「取消」ボタンがクリックされる前にサーバーで削除された行は、ワークシートから削除されます。残りのフラグ付きの行にはフラグ・ステータスが引き続き表示されます。
Table.FailureActionID
は実行されません。
アクション・セット内の残りのアクションはスキップされます。
Table.Errors
およびWorksheet.Errors
はそのまま残されます。
ダイアログ・アクションでは、取消しまたは閉じることのできるモーダル・ダイアログが表示されます。アクション・セット・ステータス・メッセージ・ダイアログは、これらのいずれかのアクションの実行中は表示されません。次のアクションはダイアログ・タイプです。
Confirmation
Dialog
DisplayWorksheetErrors
、DisplayRowErrors
、DisplayTableErrors
エンド・ユーザーに対して、アクション・セットの操作が正常に完了したか、または失敗したかを通知するアラート・メッセージを表示できます。たとえば、アクション・セットのすべてのアクションが成功したときや、少なくとも1つは失敗があった場合にメッセージを表示できます。この動作は、ActionSet.Alert
プロパティ・グループで構成します。
注意: エンド・ユーザーがアクション・セットの実行をキャンセルした場合、アラート・メッセージは表示されません。たとえば、ポップアップ・ダイアログのWebページを起動するアクション・セットが実行を完了した後に表示されるようにアラート・メッセージを構成します。実行時には、エンド・ユーザーは、ポップアップ・ダイアログをホストするExcel Webブラウザ・コントロールの「閉じる」ボタンを使用してポップアップ・ダイアログを閉じることにより、アクション・セットの実行をキャンセルします。このシナリオでは、アラート・メッセージは表示されません。Webページの表示の詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。 |
「アクションの編集」ダイアログを使用して、ActionSet.Alert
プロパティ・グループの値を構成します。
開始する前に:
アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
アクション・セットにアラートを追加するには:
統合Excelワークブックを開きます。
「アクションの編集」ダイアログを開きます。
表8-2に従って、ActionSet.Alert
プロパティ・グループのプロパティの値を設定します。
表8-2 ActionSet.Alertプロパティ・グループ
プロパティ | 入力または選択する値 |
---|---|
|
ドロップダウン・リストから |
|
アクション・セットの実行時にエラーが発生した場合に、ダイアログに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。たとえば、
「ダウンロード」ボタンは、アクション・セットを起動します。これは、続いてADF表コンポーネントの |
|
ダイアログの「OK」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。 |
|
アクション・セットの実行時にエラーが発生しなかった場合に、ダイアログに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。 たとえば、
|
図8-11は、EditCustomers-DT.xlsx
ワークブックでリボン・コマンドのAlert
プロパティ・グループに構成された値を示しています。このリボン・コマンドには、実行時にDownloadというラベルが付きます。
「OK」をクリックします。
図8-12は、Downloadというラベルの付いたADFボタン・コンポーネントによって起動されるアクション・セットが正常に実行を完了したときに実行時に表示されるアラート・メッセージを示しています。
実行時にFailureMessage
、OKButtonLabel
またはSuccessMessage
プロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。
アクション・セットのActionOptions
プロパティの値を指定して、次のイベントのいずれかが発生したときのアクション・セットの動作を決定します。
アクション・セットのアクションの失敗
アクション・セットのすべてのアクションが正常に完了
これらのエディタの起動方法、またはADFコンポーネントのプロパティ・インスペクタの詳細は、第5章「開発ツールのスタート・ガイド」を参照してください。アクション・セットのプロパティの詳細は、表A-16を参照してください。
開始する前に:
アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
アクション・セットのエラー処理を構成するには:
統合Excelワークブックを開きます。
適切なエディタまたはプロパティ・インスペクタを開いて、表8-3に従ってアクション・セットのActionOptions
プロパティの値を構成します。
表8-3 ActionOptionsプロパティ
設定するプロパティ | 目的 |
---|---|
|
|
|
アクション・セットが正常に完了しなかった場合に起動するADFモデル・アクションを指定します。 たとえば、アクション・セットの起動が失敗したときに、加えられた変更をロールバックするADFモデル・アクションを指定できます。
|
|
アクション・セットが正常に完了した場合に起動するADFモデル・アクションを指定します。 たとえば、
|
「OK」をクリックします。
確認アクションはエンド・ユーザーに対して、Confirmationアクションのプロパティで指定されたタイトルとプロンプトのメッセージを表示する簡単なメッセージ・ダイアログを提供します。
アクション・セットの実行は、エンド・ユーザーが提供されたボタンをクリックするまで一時停止します。ユーザーが「OK」をクリックすると、アクション・セットはアクション・セットの残りのアクションを続けます。ユーザーが「取消」をクリックすると、その時点でアクション・セットは中止され、残りのアクションは起動されません。エラーや成功がないため、FailureActionID
アクションやSuccessActionID
アクションは起動されません。
開始する前に:
アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
Confirmationアクションをコンポーネントから起動するには:
統合Excelワークブックを開きます。
「アクションの編集」ダイアログを開き、ここの説明にあるように「追加」ボタンの下向き矢印をクリックしてドロップダウン・リストを開きます。
「確認」を選択して、次のリストにあるようにプロパティを構成します。
CancelButtonLabel
ダイアログの「取消」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。
OKButtonLabel
ダイアログの「OK」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。
Prompt
ダイアログのプロンプトとして表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。
Title
実行時に表示する確認ダイアログのタイトルに解決されるオプションのEL式またはリテラル値を指定します。
オプションで、構成するアクションの目的に関するコメントをAnnotation
プロパティに入力します。このプロパティに設定する値には、機能的な影響はありません。
「OK」をクリックします。
図8-13に、「ダウンロード」リボン・コマンドにデフォルトの属性値が指定された、「アクションの編集」ダイアログを示します。
一度アクション・セットが起動されると、ユーザーに対して確認のプロンプトが表示されます。ユーザーが「OK」をクリックすると、次のアクションが実行され、「取消」をクリックすると、アクション・セットの実行はエラーなしに終了します。
注意: ユーザーがConfirmationアクションをキャンセルする場合、 |
図8-14は、デフォルトの「確認」ダイアログと「はい」ボタン、および「いいえ」ボタンを示します。
実行時にCancelButtonLabel
、OKButtonLabel
またはPrompt
プロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。Title
プロパティが空の場合、アクション・セット・コンテナ(ボタンまたはリボン・コマンドなど)のラベルが使用されます。コンテナのラベルも空の場合、ADFデスクトップ統合により提供されたデフォルト値が使用されます。
Oracle ADFの機能を起動するアイテムを持つExcelリボンの実行時リボン・タブを、統合Excelワークブックで構成できます。実行時リボン・タブ・グループでVisible
ワークブック・プロパティをTrue
に設定すると、このタブが実行時に表示されます。図8-15に示すように、Title
プロパティは、エンド・ユーザーに対して実行時に表示されるタブのタイトルを決定します。
実行時にはタブがリボンの最後のタブとして表示され、図8-16に示すように、構成したすべてのコマンドが様々なタブのグループとして表示されます。
図8-17は、EditCustomers.xlsx
の実行時のリボン・タブと、ワークシート用に構成された2つのコマンドを示しています。実行時には、コマンドはワークブックのコマンドを起動するアイテム、現在のワークシートのコマンドを起動するアイテム、すべてのデータをクリアするコマンド・グループ、ADFデスクトップ統合のバージョン情報を表示するコマンド・ワークグループの4つのグループに分類されます。
エンド・ユーザーがワークブック・アクションを起動できるようにするコマンドが実行時リボン・タブに含まれるように、ワークブックのプロパティにあるWorkbook Commands
プロパティを構成します。ワークシートのプロパティにあるRibbon Commands
プロパティを構成して、ユーザーがアクション・セットを起動できるようにするアイテムがADFデスクトップ統合のタブに含まれるようにします。ワークシートのコマンド・アイテムは、ワークシートがアクティブな場合に表示されます。ワークブック・コマンドを削除すると、そのワークブックの実行時タブに表示されなくなります。あるグループのすべてのコマンドを削除すると、そのワークブックがアクティブなときはそのグループは表示されません。
図8-18は、SelectActionSet
アクション・セットを起動するワークシートのアクションが表示される、実行時のワークシート・グループを示します。
実行時リボン・タブにワークブック・コマンド・ボタンを定義するには、いくつかのワークブック・プロパティを構成します。次の手順は、ワークブックのアクション、Login
を例に使用して、ワークブック・グループのアイテムを作成または削除する方法を示します。
開始する前に:
Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、8.3項「実行時リボン・タブの構成」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
ワークブックのコマンド・ボタンを定義するには:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。
「ワークブック・プロパティの編集」ダイアログで、実行時リボン・タブを展開してワークブック・コマンドを選択します。Workbook Commands
の横にある参照(...)アイコンをクリックして、図8-19のようにダイアログを表示します。
「追加」をクリックして、次のようにワークブックのコマンド・ボタンのプロパティの値を指定します。
Method
ワークブック・コマンド・ボタンが起動するワークブック・アクションを指定します。
Label
実行時にラベルとして表示される値を入力フィールドに入力します。あるいは、参照(...)アイコンをクリックして式ビルダーを起動し、リソース・バンドルの文字列に解決されるEL式を記述します。
ラベルに表示される実行時の値は1024文字を超えることはできません。1024文字を超える実行時の値は、切り捨てられて1024文字のみが表示されます。
リソース・バンドルの使用の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。
ラベルの詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。
「OK」をクリックします。
注意: ワークブック・コマンドの編集ダイアログでのワークブック・コマンドの順序は、実行時には無視されます。ワークブック・レベルのコマンドの順序とグループ化は、常に同じです。 |
ワークシートのコマンドを定義するには、プロパティ・インスペクタを使用してワークシートのプロパティを構成します。デフォルトでは、ワークシートのプロパティでワークシート・グループに定義されるコマンド・ボタンはありません。ワークシートのプロパティのRibbon Commands
プロパティで参照されるリストにメンバーを追加します。
注意: コマンド・ボタンを表示するには、 |
開始する前に:
Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、8.3項「実行時リボン・タブの構成」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
ワークシートのコマンド・ボタンを定義するには:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。
「ワークシート・プロパティの編集」ダイアログで、Ribbon Commands
プロパティの入力フィールドの横にある参照(...)アイコンをクリックして、図8-20のようにエディタを起動します。
「追加」をクリックして、コレクション・エディタの「メンバー」リストに新しいリボン・ボタンを追加します。
「SelectActionSet」
のプロパティを構成して、リボン・ボタンが起動するアクションのタイプを指定します。
ツールチップを追加するには、TooltipプロパティにEL式を入力します。
リボン・コマンド・ツールチップには、1024文字の最大サイズがあります。ツールチップ値がこの制限を超えた場合は、最初の1024文字のみ表示されます。
「OK」をクリックします。
図8-18は、実行時のコマンドがどのように表示されるかを示します。
注意:
|
アクション・セットでDialog
アクションを構成して、Excelワークブックと統合するFusion Webアプリケーションからのページを表示します。これらのページによって、統合Excelワークブックに追加の機能が提供されます。これには、Fusion Webアプリケーションと対話する検索ダイアログや表示内容の選択ダイアログなどの機能があります。アップロード・オプションも構成できます。
アクション・セットのDialog
アクションは、次の2つのタイプのダイアログのどちらかを表示するように構成できます。
ポップアップ・ダイアログ
実行時作業ウィンドウ
コンポーネントのアクション・セットのプロパティDialog.Target
(Popup
またはTaskPane
)は、Webページがレンダリングされる場所を決定します。
Dialog.Page
プロパティの値は、アクションの起動時に表示されるWebページを指定します。有効な値は、WebAppRoot
プロパティの値の相対URL、または絶対URLです。
たとえば、EditableCustomerSearch-DT.xlsx
ワークブックは、ユーザーが実行時に「顧客のフィルタ」リボン・コマンドをクリックすると起動するページの値として次の相対URLを指定します。
/faces/external/searchForm.jspx
次のような絶対URLも有効です。
http://www.oracle.com/technetwork/middleware/fusion-middleware/overview/index.html
注意:
|
アクション・セットのDialog
アクションを構成して、ExcelのWebブラウザ・コントロールによりホストされているモデル・ポップアップ・ダイアログのFusion WebアプリケーションからWebページを起動できます。この機能は、たとえばFusion Webアプリケーションからのページにより表示される値を、統合Excelワークブックに入力できるようにする機能をエンド・ユーザーに提供します。
アクション・セットが起動するWebページは、大/小文字区別のID属性がADFdi_CloseWindow
に設定されている予約済HTML<span>
要素を含む必要があります。
例8-1は、span要素の値を、f:verbatim
タグのrendered
プロパティを使用して自動的に設定する方法を示します。
例8-1 予約済HTML <span>要素
<f:verbatim rendered="#{requestScope.searchAction eq 'search'}"> <span id="ADFdi_CloseWindow">Continue</span> </f:verbatim> <f:verbatim rendered="#{requestScope.searchAction eq 'cancel'}"> <span id="ADFdi_CloseWindow">Abort</span> </f:verbatim>
図8-21は、EditableCustomerSearch-DT.xlsx
ワークブックのブラウザ・コントロールによりホストされるsearchForm.jspx
ページを示しています。
例8-1に示すように、f:verbatim
タグのrendered
プロパティが使用できない場合には、次のようにしなければならない場合があります。
Dialog
アクションの結果の値をプロパティとして公開するバッキングBeanを作成します。
アクション・リスナーを使用して、バッキングBeanおよび<span>
要素のEL式を起動し、ADFdi_CloseWindow
の値をBeanプロパティの値に設定します。
どちらの方法を使用する場合でも、ADFデスクトップ統合はADFdi_CloseWindow
の値を監視して、ポップアップ・ダイアログをいつ閉じるかを決定します。ADFdi_CloseWindow
<span>
要素の内容に応じて、次のようになります。
空白の文字列を参照する場合、または文字列が存在しない場合は、ポップアップ・ダイアログは開いたままになります。
Continue
の場合、ポップアップ・ダイアログが閉じ、アクション・セットが次のアクションを起動します。
次の例は、"Continue
"という値が割り当てられたADFdi_CloseWindow
を示します。
var closeWindowSpan = document.getElementById("ADFdi_CloseWindow");
closeWindowSpan.innerHTML = "Continue";
Abort
の場合、ポップアップ・ダイアログが閉じ、アクション・セットが実行を停止します。追加のアクション・セットは起動されません。
他のなんらかの文字列の値を参照する場合、ポップアップ・ダイアログは開いたままになります。
Dialog
アクションのTarget
プロパティをPopup
に設定して、ExcelのWebブラウザ・コントロールによりホストされるモーダルなポップアップ・ダイアログでFusion WebアプリケーションからのWebページを表示します。モーダルなポップアップ・ダイアログにWebページを表示する場合は、Excelの作業ウィンドウにWebページを表示するときとは異なります。これは、アクション・セットが起動するDialog
アクションは、ユーザーからの入力があるまで実行を続けられないためです。ポップアップ・ダイアログが開いているときに、エンド・ユーザーは統合Excelワークブックの他の部分と対話することはできません。ポップアップ・ダイアログがフォーカスを保持します。
エンド・ユーザーは、ブラウザ・コントロールを閉じたり、ADFデスクトップ統合がブラウザ・コントロールを閉じるまでは、ブラウザ・コントロール内でFusion Webアプリケーションからの複数のWebページ間を移動できます。
エンド・ユーザーがデータ・コントロールに対して行う変更をポップアップ・ダイアログを通じてすぐに同期するには、アクション・セットの次のアクションをDialog
アクションの後に指定して、変更されたすべてのバインディングをワークシート(DownSync
ワークシート・アクションを使用)またはADF表コンポーネント(RowDownSync
アクションを使用)にダウンロードします。このシナリオでは、Continue
をADFdi_CloseWindow
の値として指定することが前提です。
注意:
|
アクションのDialog.Target
プロパティをTaskPane
に設定して、ADFデスクトップ統合の作業ウィンドウのDialog.Page
プロパティで指定したWebページを表示できます。ポップアップ・ダイアログでWebページを表示するのとは対照的に、作業ウィンドウでWebページを表示すると、Webページを表示する間はアクション・セットでアクションの実行を継続できます。エンド・ユーザーは、Webページが表示されている間、統合Excelワークブックの他の部分にアクセスして対話することができます。
注意:
|
Dialog
アクションを起動するアクション・セットで追加のアクションを指定すれば、統合Excelワークブックに含まれるデータを、Fusion Webアプリケーションと同期した状態にできます。Dialog
アクションのShareFrame
プロパティを設定することにより、Fusion Webアプリケーション・ページと統合Excelワークシートの両方が同じデータ・コントロール・フレームを使用するよう徹底することができます。
注意:
|
エンド・ユーザーがFusion Webアプリケーションからのページを使用する際に、統合ExcelワークブックとFusion Webアプリケーションが同期された状態のままとなるように、Dialog
アクションを起動するアクション・セットを次のように構成します。
Dialog
アクションを起動する前に、統合ExcelワークブックからFusion Webアプリケーションに変更を送信します。
RowUpSync
ワークシート・アクションを起動して、ADF表コンポーネントの現在の行からの変更を同期します。UpSync
を起動して、フォーム・コンポーネントの変更を同期することもできます。
Dialog
アクションを起動した後、Fusion Webアプリケーションから統合Excelワークブックに変更を送信します。
RowDownSync
ワークシート・アクションを起動して、Fusion WebアプリケーションからADF表コンポーネントの現在の行へ変更を送信します。DownSync
を起動して、フォーム・コンポーネントの変更を同期することもできます。
DoubleClickActionSet
については、アクション・セットを実行した後で、サーバー・サイド・モデルがアクション・セットの実行前と同じ状態にあることを確認してください。ほとんどの場合は、アクション・セットの開始時には保留のコミットされていない変更はないため、DoubleClickActionSet
の終了ごとにすべてのコミットされていない変更をロールバックするだけで十分です。
統合ExcelワークブックとFusion Webアプリケーション間でのデータ同期の詳細は、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」を参照してください。 ワークシート・アクションとADF表コンポーネント・アクションの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。
Fusion Webアプリケーションと統合Excelワークブックは、どちらもデータ・コントロール・フレームを使用して、トランザクションとビュー・オブジェクトの状態、および拡張機能によってページ定義ファイルで公開されるバインディングを管理します。Fusion Webアプリケーションのページを統合Excelワークシートから起動すると、ページを起動するDialog
アクションのShareFrame
プロパティをTrue
に設定することで、ページと統合Excelワークシートが両方とも同じデータ・コントロール・フレームを使用するように徹底できます。
Dialog
アクションのPage
プロパティで、Dialog
アクションが起動するページを指定します。Dialog
アクションが絶対URLやFusion Webアプリケーションの一部でないページを起動する場合、ShareFrame
がTrue
に設定されていると、ADFデスクトップ統合はShareFrame
の値を無視します。
次のシナリオではShareFrame
をFalse
に設定します。
アクション・セットのDialog.Page
プロパティは、絶対URLまたはFusion Webアプリケーションの一部でないページを参照します。
アクション・セットのDialog.Page
プロパティは、Fusion Webアプリケーションの一部であるページを参照しますが、統合Excelワークシートと情報を共有する必要はありません。たとえば、オンライン・ヘルプの情報を表示するページなどです。
Fusion Webアプリケーションのデータ・コントロール・フレームの詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のタスク・フロー間のデータ・コントロールの共有に関する項を参照してください。
ADFデスクトップ統合の機能をFusion Webアプリケーションに追加する際、アプリケーションが自動的に構成されて、ADFデスクトップ統合のフレーム共有がサポートされます。フレーム共有によって、統合Excelワークブックの各ワークシートが専用のDataControl
フレームを使用できます。それぞれのワークシートから起動されるダイアログで表示されるWebページは、統合Excelワークシートと同じDataControl
フレームを共有できます。
Fusion Webアプリケーションがフレーム共有をサポートしていることを検証するには:
JDeveloperでFusion Webアプリケーション・プロジェクトを開きます。
「アプリケーション」ウィンドウで、「アプリケーション・リソース」パネルを開きます。
「ディスクリプタ」→「ADF META-INF」ノードにあるadf-config.xml
ファイルを開きます。
「ソース」タブをクリックして、ソース・エディタを開きます。
次のadf-desktopintegration-servlet-config
要素が、</adf-config>
タブの前のファイルにあることを確認します。
<adf-desktopintegration-servlet-config xmlns="http://xmlns.oracle.com/adf/desktopintegration/servlet/config"> <controller-state-manager-class> oracle.adf.desktopintegration.controller.impl.ADFcControllerStateManager </controller-state-manager-class> </adf-desktopintegration-servlet-config>
adf-config.xm
lファイルを保存して、JDeveloperを閉じます。
ADF表コンポーネントの列のサブコンポーネント(UpdateComponent
またはInsertComponent
)のDoubleClickActionSet
を構成して、エンド・ユーザーがADF表コンポーネントの列に挿入する値を選択する場合にピッカー・ダイアログをレンダリングするFusion Webアプリケーション・ページを起動できます。
この機能は、エンド・ユーザーがADF表コンポーネントに入力できる値を制限する場合に役立ちます。たとえば、エラーが発生しないようにエンド・ユーザーが手動で値を変更できないようにするため、実行時のADF表コンポーネント列をExcelワークシートで読取り専用にしたい場合などです。Fusion Webアプリケーションによってレンダリングされたピッカー・ダイアログを起動すると、エンド・ユーザーは正しくないデータを入力することなくADF表コンポーネントの値を変更できるようになります。
DoubleClickActionSet
を構成するほか、次のようにする場合は、ADF表コンポーネントのRowData.CachedAttributes
プロパティを属性バインディングの値を参照するように構成します。
統合ExcelワークブックのADF表コンポーネントに表示したくないFusion Webアプリケーションのページの値を、エンド・ユーザーが変更可能にする場合。
ADF表コンポーネントの列を統合Excelワークブックで読取り専用にする場合。
1つ以上のユーザー・セッションを通じて、エンド・ユーザーには表示されないが、ピッカー・ダイアログで変更するADF表コンポーネントのデータをキャッシュする場合。
たとえば、ADF表コンポーネントではエンド・ユーザーに製品名のリストが表示されます。ピッカー・ダイアログは起動されて、ADF表コンポーネントで製品名のリストをリフレッシュし、プロセスの一環として、製品IDの値を設定します。このシナリオでは、ADF表コンポーネントのRowData.CachedAttributes
プロパティの製品IDに属性バインディング値を指定します。アクション・セットが実行された後、ADF表コンポーネントはリフレッシュされた製品名のリストをExcelワークシートの行に表示し、そのRowData.CachedAttributes
プロパティにある関連の製品IDを参照します。
選択ダイアログへの値の移入の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「データバインドされた選択リストとシャトルの作成」の章を参照してください。
ADF表コンポーネントからカスタム・ピッカー・ダイアログを起動するには:
統合Excelワークブックを開きます。
ADF表コンポーネントを配置するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックして、プロパティ・インスペクタを表示します。
ADF表コンポーネントのRowData.CachedAttributes
プロパティを構成して、属性バインディング値を参照します。
Columnsの入力フィールドの横にある参照(...)アイコンをクリックして、「列の編集」ダイアログを表示します。
「メンバー」・リストで、エンド・ユーザーが実行時にピッカー・ダイアログを起動する元の列を選択します。
列のサブコンポーネント(UpdateComponent
またはInsertComponent
)のDoubleClickActionSet
のActions
属性を、表8-4に示すように構成します。
表8-4 DoubleClickActionSetプロパティ
追加するアクション | 目的 |
---|---|
|
( |
|
ADF表コンポーネントの |
|
|
|
ADF表コンポーネントの |
|
( |
図8-22は、DoubleClickActionSet
プロパティの「アクションの編集」ダイアログを示します。
「OK」をクリックします。
ADF入力テキスト・コンポーネントとADFボタン・コンポーネントを使用して、統合Excelワークブックでフォームを作成できます。エンド・ユーザーは、作成されたフォームを使用して、データや情報の問合せを挿入できます。この項では後者の例を使用して、フォームの作成方法を説明します。
エンド・ユーザーはADF入力テキスト・コンポーネントに検索語句を入力し、ADFボタン・コンポーネントをクリックして一致する結果を取得します。検索処理でエンド・ユーザーにより洗練されたユーザー・インタフェースを提示するために、Fusion Webアプリケーションから検索フォームを起動できます。これらの検索処理の結果は、統合ExcelワークブックのADF表コンポーネントまたはADF読取り専用コンポーネントにダウンロードできます。
図8-23に、検索オプションを構成するのに使用されるOracle ADFコンポーネントの設計時の表示の例を示します。
ADFラベル・コンポーネントが単純検索フォームで使用されている
ADF入力テキスト・コンポーネントが単純検索フォームで使用されている
ADFボタン・コンポーネントが単純検索フォームで使用されている
ADFボタン・コンポーネントが拡張検索フォームを起動するために使用されている
注意: ADFデスクトップ統合は、ページ定義ファイルでの |
エンド・ユーザーが検索語句を入力できるように、ADF入力テキスト・コンポーネントを挿入して構成します。ADFボタン・コンポーネントの挿入およびアクション・セットの構成は、次の目的で実行します。
エンド・ユーザーがADF入力テキスト・コンポーネントに入力する値の取得。
値の問合せ。
結果を統合ExcelワークブックのADF表コンポーネントまたはADF読取り専用表コンポーネントにダウンロード。
開始する前に:
ADFデータ・バインド検索フォームについて理解しておくと役立ちます。詳細は、8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
統合Excelワークブックで単純検索フォームを作成するには:
統合Excelワークブックを開きます。
エンド・ユーザーに検索条件を入力させるExcelワークシートのセルにADF入力テキスト・コンポーネントを挿入します。
ユーザーが入力する検索語句を属性バインディングに割り当てるように、ADF入力テキスト・コンポーネントを構成します。
図8-24に、ADF入力テキストコンポーネントがユーザー入力の値をsearchTerm
属性バインディングに割り当てる例を示します。可変イテレータの一部であるsearchTerm
は、続いてNamedData
引数としてexecuteSimpleProductQuery
メソッドに渡されます。
オプションで、ADF入力テキスト・コンポーネントにスタイルを割り当てて、セルに検索語句を入力できることをエンド・ユーザーに示します。
オプションで、隣接するセルにADFラベル・コンポーネントを作成し、手順2で作成したADF入力テキスト・コンポーネントに検索語句を入力できることをエンド・ユーザーに示します。
ExcelワークシートにADFボタン・コンポーネントを作成します。
ADFボタン・コンポーネントのLabel
プロパティを、実行時に文字列を表示するようにボタンをクリックすれば検索処理を実行できることをエンド・ユーザーに示します。
オプションで、ツールチップを追加します。
ツールチップの追加の詳細は、6.9項「ADFデスクトップ統合フォーム・タイプ・コンポーネントでのツールチップの表示」を参照してください。
「アクションの編集」ダイアログを開いて、ADFボタン・コンポーネントのClickActionSet
プロパティのアクションの配列(Actions
リスト)を構成します。表8-5は、順番に起動するアクションについて説明します。
表8-5 ADFボタン・コンポーネントのClickActionSetプロパティ
追加するアクション | 目的 |
---|---|
|
|
|
手順3で指定した属性バインディングにバインドされたADFモデル・アクションを起動します。ADFモデル・アクションは、属性バインディングによって参照されるエンド・ユーザーの検索語句に対して問合せを実行します。 |
|
|
|
ADF表コンポーネントまたはADF読取り専用表コンポーネントから |
「OK」をクリックします。
図8-25に、ADFボタン・コンポーネントが、エンド・ユーザーがADF入力テキスト・コンポーネントに入力した検索語句を使用して、executeSimpleProductQuery
アクション・バインディングを起動する例を示します。
ADFボタン・コンポーネントまたはリボン・コマンドを使用して、検索フォームをエンド・ユーザーに表示するFusion Webアプリケーションからページを起動することができます。ADFボタン・コンポーネントのアクション・セットを構成して、検索処理の検索結果が統合Excelワークブックにダウンロードされるように、ADF表コンポーネントまたはADF読取り専用コンポーネントについてDownload
アクションを起動します。
Fusion Webアプリケーションでの検索フォームの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のデータ・バインドされたADF検索フォームの作成に関する項を参照してください。
開始する前に:
ADFデータ・バインド検索フォームについて理解しておくと役立ちます。詳細は、8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
統合ExcelワークブックからWebページを起動するには:
統合Excelワークブックを開きます。
ADFボタン・コンポーネントまたはリボン・コマンドをExcelワークシートに作成します。
実行時に文字列を表示するようにコンポーネントのLabel
プロパティを設定し、ボタンをクリックすれば検索処理を実行できることをエンド・ユーザーに示します。
「アクションの編集」ダイアログを使用して、コンポーネントのClickActionSet
プロパティ(リボン・コマンドを構成している場合にはSelectActionSet
プロパティ)のアクションの配列(Action
リスト)を構成します。表8-6は、順番に起動するアクションについて説明します。
表8-6 拡張検索フォームを起動するアクション
追加するアクション | 目的 |
---|---|
|
検索フォームを含むFusion Webアプリケーションからのページを表示します。Fusion Webアプリケーションからのページを表示する詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。 |
|
ADF表コンポーネントまたはADF読取り専用表コンポーネントから |
「OK」をクリックします。
図8-26に、リボン・コマンドのSelectActionSet
にDialog
アクション、その後にADF表コンポーネントのDownload
アクションが含まれる、EditableCustomerSearch-DT.xlsx
ワークブックの例を示します。エンド・ユーザーがリボン・コマンドを起動すると、Dialog
アクションは検索ページ(searchForm.jspx
)をブラウザ・ウィンドウに表示します。エンド・ユーザーが検索ページに検索条件を指定し、そこでSearchボタンを選択すると、ADF表コンポーネントのDownload
アクションが実行されます。これにより、指定した検索条件に一致する行が統合ワークシートに取得されます。
図8-27に、実行時にWebページの検索フォームを示します。
第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」 の説明にあるADFデスクトップ統合コンポーネントを使用して、統合Excelワークブックでフォームを作成できます。これらのコンポーネントは、エンド・ユーザーに対して、表タイプ・コンポーネントにより提供される機能を使用してFusion Webアプリケーションからのデータ行をダウンロードするのでなく、個々のフィールドを表示、閲覧する機能を提供するときに役立ちます。次のコンポーネントを使用してフォームを作成します。
ADFボタン
このコンポーネントを使用して、ClickActionSet
を起動できるボタンをエンド・ユーザーに提供します。図8-28はSearchというラベルの付いたADFボタンを示し、これはエンド・ユーザーがADF入力テキスト・コンポーネントに入力した検索語句を使用して、検索処理を起動します。
ADF入力テキスト
このコンポーネントを使用して、バインディングの現在の値を表示される読取り/書込みフィールドをエンド・ユーザーに提供します。また、このコンポーネントは、図8-28,に示すように値の入力にも使用できます。つまり、ユーザーがADF入力テキスト・コンポーネントに検索語句を入力します。
ADF出力テキスト
このコンポーネントを使用して、バインディングの現在の値を表示される読取り専用フィールドをエンド・ユーザーに提供します。
ADF値リスト
このコンポーネントを使用して、ユーザーがリスト・バインディングから値を選択できるドロップダウン・メニューをエンド・ユーザーに提供します。
ADFラベル
このコンポーネントを使用して、作成するフォームの使用方法の説明や他の情報をエンド・ユーザーに提供します。たとえば、EditWarehouses-DT.xlsx
ワークブックはADFラベル・コンポーネントを使用してフォームのタイトルを表示します。図8-28に、タイトル・テキストEdit Summit Warehouses
のラベルを示します。
ADFデスクトップ統合の作業ウィンドウを使用して、必要なコンポーネントをワークシートに挿入します。
統合Excelワークブックでフォームを作成するには:
完了したフォームにどのADFフォーム・コンポーネントが必要かを決定し、それを統合Excelワークシートに挿入します。
これらのコンポーネントの詳細は、第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」を参照してください。
挿入するコンポーネントのレイアウトと外観を構成します。
コンポーネントの外観の構成の詳細は、第9章「統合Excelワークブックの外観の構成」を参照してください。
フォームをテストします。
統合Excelワークブックのテストの詳細は、第13章「統合Excelワークブックのテスト」を参照してください。
ADFデスクトップ統合は、統合Excelワークブックでの値リストの作成に使用する次のコンポーネントを提供します。
ADF値リスト
Excelワークシートで値リストを作成するときに、このコンポーネントのプロパティを構成します。
TreeNodeListサブコンポーネント
ADF表コンポーネント列で値リストを作成するときに、このコンポーネントのプロパティを構成します。
これら2つのコンポーネントを使用して、統合Excelワークブックに依存値リストを作成できます。依存値リストとは、値リスト・コンポーネント(子の値リスト)で、値は別の値リスト・子(親の値リスト)によって決定されます。
サーバーサイド・リスト・バインディングを、親の値リストの選択された項目が変更になったときに、使用可能な子の値リストの項目が正しく更新されるように定義する必要があります。図8-29は、EditWarehouses-DT.xlsx
ワークブックの2つの画面を使用した例で、ここではRegionフィールド(親の値リスト)の値が変わると、Countryフィールド(子の値リスト)が変更になります。
表8-7は、以前にリストしたコンポーネントを使用して作成できる依存値リストの実装と、それぞれの実装を完了するための要件を示します。
表8-7に説明する実装には、モデルドリブン・リストが必要なものがあります。モデルドリブン・リストの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のモデルドリブン・リストの作成方法に関する項を参照してください。
表8-7 依存値リストの構成オプション
構成 | 要件 |
---|---|
ADF値リスト・コンポーネントを使用して、Excelワークシートで親と子の値リストの両方をレンダリングします。 |
ADF値リスト・コンポーネントの両方のインスタンスがリスト・バインディングを参照する必要があります。参照するリスト・バインディングの1つまたは両方をモデルドリブン・リストにすることができます。 両方のリスト・バインディングがモデルドリブン・リストを参照できるのは、基底にあるイテレータに少なくとも1つのデータ行がある場合のみです。実行時に基底のイテレータにデータ行がなく、エンド・ユーザーが親リスト(ADF値リスト・コンポーネントの このシナリオを回避するには、次のオプションのいずれかを選択します。
詳細は、8.8.1項「Excelワークシートでの依存値リストの作成方法」を参照してください。 |
TreeNodeListサブコンポーネントを使用して、ADF表コンポーネント列で親と子の値リストをレンダリングします。 |
親と子の値リスト(TreeNodeListサブコンポーネント)は、どちらもモデルドリブン・リストに関連付けられたツリー・バインディング属性を参照する必要があります。 詳細は、8.8.3項「ADF表コンポーネント列での依存値リストの作成方法」を参照してください。 |
TreeNodeListサブコンポーネントを使用して、ADF値リスト・コンポーネントで親の値リストを、ADF表コンポーネント列で子の値リストをそれぞれレンダリングします。 |
子の値リスト(TreeNodeListサブコンポーネント)は、モデルドリブン・リストに関連付けられたツリー・バインディング属性を参照する必要があります。親の値リスト(ADF値リスト・コンポーネント)がリスト・バインディングを参照する必要があります。 詳細は、8.8.5項「ExcelワークシートおよびADF表コンポーネント列での依存値リストの作成」を参照してください。 |
依存値リストを作成する場合は、次の点に注意してください。
DependsOnList
またはDependsOnListID
によって参照されるセルの値が変更されると、ADFデスクトップ統合は、エンド・ユーザーへの警告なしに子のコンポーネント値リストへの以前の変更をすべてオーバーライドします。
DependsOnList
(またはDependsOnListID
)プロパティで指定されたリストがExcelワークシートのコンポーネントで参照されていないかぎり、依存値リストは機能しません。
再帰的な依存関係が定義されている場合(リストAがリストBに依存し、リストBがリストAに依存)、最初の依存関係(リストAがリストBに依存)が期待される動作をトリガーします。ADFデスクトップ統合は、他の依存関係を誤った構成と見なします。
次のようにして依存関係の連鎖を作成できます。
リストAがリストBに依存
リストBがリストCに依存
このシナリオでは、リストCの変更(祖父母の値リスト)がリストA(孫の値リスト)とリストB(子の値リスト)の両方を更新します。同様のシナリオを作成する場合、親の値リストの選択内容が変わったときに、孫の値リストと子の値リストがどちらも確実にリフレッシュされるようにする必要があります。孫の値リストに2つのバインド変数を指定し、ビュー属性に暗示的な依存関係を設定することにより、これを行います。もうひとつの方法は、モデルドリブン・リストが構成されているそれぞれのビュー属性間に明示的な属性の依存関係を制限することです。たとえば、属性Aが属性Bと属性Cに依存し、属性Bが属性Cに依存するように指定します。
依存値リストのキャッシュの詳細は、15.4項「切断されたモードで使用するための値リストのキャッシング」を参照してください。
ADFデスクトップ統合は、依存値リストに表示される値をキャッシュします。したがって、親リストの選択に対する依存リストの項目の値は、ADF表コンポーネントのすべての行で一貫している必要があります。
日付値を使用するADF値リスト・コンポーネントはサポートされていません。
ADF値リスト・コンポーネントの2つのインスタンスを使用して、Excelワークシートで依存値リストを作成します。
親のADF値リスト・コンポーネントによって参照されるリスト・バインディングを、子のADF値リスト・コンポーネントのListOfValues.DependsOnListID
プロパティの値に指定します。
ADF値リストの詳細は、A.7項「ADF値リスト・コンポーネントのプロパティ」を参照してください。
開始する前に:
依存値リストについて理解しておくと役立ちます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
Excelワークシートで依存値リストを作成するには:
存在しない場合は、必要なリスト・バインディングをページ定義ファイルに追加します。
ページ定義ファイルへのバインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。
統合Excelワークブックを開きます。
6.6項「ADF値リスト・コンポーネントの挿入」の説明に従って、2つのADF値リスト・コンポーネントを統合Excelワークブックに挿入します。
依存値リストで親となるADF値リスト・コンポーネントのプロパティ・インスペクタで、ListOfValues.ListID
プロパティの値を親となるリスト・バインディングに設定します。
依存値リストで子となるADF値リスト・コンポーネントのプロパティ・インスペクタで、次のプロパティを設定します。
「OK」をクリックします。
実行時にはADFデスクトップ統合は、ADF値リスト・コンポーネントの両方のインスタンスをレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。
図8-31は、依存値リストのCountryが、選択されたRegionリスト値からの状態のみを表示する様子を示しています。
TreeNodeListサブコンポーネントのインスタンスを使用して、ADF表コンポーネント列の依存値リストで両方の値リストを実行時にレンダリングします。
ツリー・バインディング属性を親のTreeNodeListサブコンポーネントのList
プロパティの値に指定します。また、ツリー・バインディング属性を子のTreeNodeListサブコンポーネントのList
プロパティに、親のTreeNodeListサブコンポーネントにより参照される同じツリー・バインディング属性をDependsOnList
プロパティの値にそれぞれ指定します。
両方のツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。モデルドリブン・リストの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のモデルドリブン・リストの作成方法に関する項を参照してください。ページ定義ファイルへのツリー・バインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。
TreeNodeListサブコンポーネントの詳細は、A.9項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。
開始する前に:
依存値リストについて理解しておくと役立ちます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
ADF表コンポーネントに依存値リストを作成するには:
統合Excelワークブックを開きます。
存在しない場合は、ADF表コンポーネントを挿入します。
詳細は、7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。
Columnsの入力フィールドの横にある参照(...)アイコンをクリックすることにより、ADF表コンポーネントのプロパティ・インスペクタで、「列の編集」ダイアログを起動します。
新しい列を追加(または既存の列を変更)して親の値リストとします。列のサブコンポーネント・タイプとしてTreeNodeListを指定します。値リストの作成の詳細は、7.14項「ADF表コンポーネント列での値リストの作成」を参照してください。
新しい列を追加(または既存の列を変更)して子の値リストとします。列のサブコンポーネント・タイプとしてTreeNodeListを指定します。値リストの作成の詳細は、7.14項「ADF表コンポーネント列での値リストの作成」を参照してください。
親の値リストのツリー・バインディング属性をDependsOnList
プロパティの値として、子の値リストの列に指定します。
図8-32は、依存TreeNodeListサブコンポーネントのプロパティ・インスペクタを示しています。ここでは、RegionId
ツリー・バインディング属性が親の値リストに指定され、CountryId
ツリー・バインディング属性が子の値リストに指定されます。
「OK」をクリックします。
実行時にはADF表コンポーネントは、TreeNodeListサブコンポーネントの両方のインスタンスを、これらのインスタンスを表示するよう構成した列にレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。
図8-33は、Region列の値リストでエンド・ユーザーが選択する値が、Country列の値リストに表示されるサブカテゴリの対応する値となる様子を示しています。
注意: 子のリストと親のリストが同じADF表コンポーネントの列にバインドされている場合、エンド・ユーザーが親リストの選択内容を変更すると、現在の行の子のリスト項目のみが変更されます。 |
ADF値リスト・コンポーネントのインスタンスとTreeNodeListサブコンポーネントのインスタンスを使用して、親と子の値リストをレンダリングする依存値リストを作成します。
Excelワークシートの親の値リスト
ADF値リスト・コンポーネントのインスタンスは、親の値リストをExcelワークシートにレンダリングします。
ADF表コンポーネント列の子の値リスト
TreeNodeListサブコンポーネントのインスタンスは、子の値リストをADF表コンポーネント列にレンダリングします。
親のADF値リスト・コンポーネントのListID
プロパティの値として、リスト・バインディングを指定します。ツリー・バインディング属性を子のTreeNodeListサブコンポーネントのList
プロパティに、親のADF値リスト・コンポーネントによって参照される同じリスト・バインディングをDependsOnList
プロパティの値にそれぞれ指定します。
ツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。モデルドリブン・リストの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のモデルドリブン・リストの作成方法に関する項を参照してください。ページ定義ファイルへのリストおよびツリー・バインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。
ADF値リスト・コンポーネントの詳細は、A.7項「ADF値リスト・コンポーネントのプロパティ」を参照してください。TreeNodeListサブコンポーネントの詳細は、A.9項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。
開始する前に:
依存値リストについて理解しておくと役立ちます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
ExcelワークシートとADF表コンポーネント列に依存値リストを作成するには:
統合Excelワークブックを開きます。
6.6項「ADF値リスト・コンポーネントの挿入」の説明に従って、ADF値リスト・コンポーネントを統合Excelワークブックに挿入します。
ADF値リスト・コンポーネントのプロパティ・インスペクタで、ListID
プロパティの値を、依存値リストで親の値リストとなるリスト・バインディングに設定します。
「OK」をクリックします。
、ADF表コンポーネントのプロパティ・インスペクタを開き、Columnsの入力フィールドの横にある参照(...)アイコンをクリックすることにより、「列の編集」ダイアログを起動します。
「追加」をクリックして、実行時の依存値リストで子の値リストとなる新しい列をADF表コンポーネントに追加します。
新しく作成した列に適切なオプションを選択します。
InsertComponentの入力フィールドの横にある参照(...)アイコンをクリックして、挿入操作の実行時の値リストを構成します。
UpdateComponentの入力フィールドの横にある参照(...)アイコンをクリックして、更新操作とダウンロード操作の実行時の値リストを構成します。
両方のオプションでも、作成するサブコンポーネントの選択ダイアログが表示されます。
TreeNodeListを選択して、「OK」をクリックします。
手順7で選択したプロパティを展開して、次のように値を構成します。
3でADF値リスト・コンポーネントのListID
プロパティの値に指定したものと同じリスト・バインディングを、DependsOnList
プロパティの値として選択します。
List
プロパティのモデルドリブン・リストに関連付けられたツリー・バインディング属性を選択します。
必要に応じてReadOnly
プロパティを構成します。
「OK」をクリックします。
図8-34は、WarehouseLocations-DT.xlsx
の子のADFデスクトップ統合のツリー・ノード・コンポーネントのADF表プロパティ・インスペクタを示し、ここでRegionList
リスト・バインディングは、親の値リストとして指定されます。
実行時にはADF値リスト・コンポーネントは親の値リストをレンダリングし、ADF表コンポーネントは子の値リストをTreeNodeListサブコンポーネントを表示するよう構成した列にレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。
図8-35に、エンド・ユーザーがRegion値リストで選択する値によって、ADF表コンポーネントのCountry列に表示される値リストが決まる、WarehouseLocations-DT.xlsx
の例を示します。
注意: 親のリストがワークシートのセルにバインドされて、子のリストがADF表コンポーネント列にバインドされている場合、エンド・ユーザーが親リストの選択内容を変更すると、表のすべての行に対して子のリスト項目が更新されます。 |
EL式を使用して、ADFコンポーネントの値としてExcel式を生成できます。たとえば、EL式でHYPERLINK
関数を使用できます。EL式でExcelのHYPERLINK
関数を使用する場合、ADF出力テキスト・コンポーネントなどのOracle ADFコンポーネントを使用して、実行時にハイパーリンクを表示するには、HYPERLINK
関数をExcelのT
関数内に囲む必要があります。
ADFデスクトップ統合はExcelの式を認識するため、HYPERLINK
関数を囲む必要があります。これを回避するには、HYERLINK
関数の回りにT
関数を配置して、HYPERLINK
関数の値がT
関数によって評価されるようにします。結果の値は、ADFコンポーネントが参照するExcelのセルに挿入されます。HYPERLINK
Excel関数を起動するEL式を記述する際は、次の構文を使用します。
=T("=HYPERLINK(""link_location"",""friendly_name"")")
例8-2のEL式は、エンド・ユーザーがコンポーネントをクリックすると、HYPERLINK
関数を使用してhttp://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html
に移動します。
例8-2 HYPERLINK関数
=T("=HYPERLINK(""http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html"", ""#{res['excel.workbook.powerby']}"")")
HYPERLINK
関数を使用してEL式を記述する場合、エラー・メッセージが表示されないようにするため、適用するカスタムのスタイルの「セルのフォーマット」ダイアログの「保護」タブの「ロック済」チェック・ボックスを選択する必要があります。
注意: EL式を計算式に使用している場合、EL式の評価後に、結果のExcel式が255文字を超えないことを確認します。これはエディタでコンポーネントのプロパティに条件値を設定するのに使用される式に適用されます。 |
ExcelのT
関数を使用するEL式を記述して、ExcelのHYERLINK
関数の出力を評価します。次の作業は、ADF出力テキスト・コンポーネントが、Oracle ADFデスクトップ統合ホーム・ページを開くハイパーリンクを表示するように構成される様子を示します。
開始する前に:
動的なハイパーリンクについて理解しておくと役立ちます。詳細は、8.9項「Excel式を生成するためのEL式の使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
セルを構成し、EL式を使用してハイパーリンクを表示するには:
統合Excelワークブックを開きます。
ADF出力テキスト・コンポーネントをExcelワークシートに挿入します。
ADF出力テキスト・コンポーネントのValue
プロパティにEL式を記述します。
記述するEL式は、Excel HYPERLINK
関数を起動して、出力を評価するためにExcel T
関数を使用します。例8-2では、Value
プロパティに次のEL式を入力しました:
=T("=HYPERLINK(""http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html"", ""#{res['excel.workbook.powerby']}"")")
注意: Excelでは、式を正しく評価できるように、EL式に二重の二重引用符( |
「OK」をクリックします。
ADFデスクトップ統合は、記述するEL式を実行時に評価します。次の例では、ADFデスクトップ統合は次のことを実行します。
リソース・ファイルからexcel.workbook.powerby
の値を取得します。
ユーザーがクリックできる、ハイパーリンクの付いたセルに結果を挿入
図8-36は、8.9.1項「EL式を使用してハイパーリンクを表示する際のセルの構成方法」で構成した例の実行時の表示を示しています。ADF出力テキスト・コンポーネントをホストするセルをエンド・ユーザーがクリックすると、Oracle ADFデスクトップ統合ホーム・ページがWebブラウザに開きます。
統合Excelワークブックで値の計算を実行するExcel式を記述できます。統合Excelワークブックで値を計算するExcel式を記述する前に、次の点に注意してください。
式は、Oracle ADFバインディングを参照するセルと参照しないセルに入力できます。
統合Excelワークブックのエンド・ユーザーは実行時に式を入力できます。
統合Excelワークブックの開発者は、設計時に式を入力できます。
起動時には、ADF表コンポーネント・アクションUpload
とRowUpSync
が、式の計算結果をFusion Webアプリケーションに送信しますが、式自体は送信されません。
Oracle ADFバインディングを参照するセルが次の処理によって変更された場合、Excelではこれらのセルの式が再計算されます。
ADF表コンポーネントRowDownSync
アクションとDownload
アクションの起動
Oracle ADFコンポーネントのレンダリング
ADF表コンポーネントとADF読取り専用コンポーネントは、行がFusion Webアプリケーションからのデータを受け入れるために収縮すると同時に、行を挿入または削除します。式はExcel独自のルールに従って複製されます。
ADF表コンポーネントまたはADF読取り専用表コンポーネントを参照するセルの上または下に式を入力できます。これらのコンポーネントの下に入力した式は、表示される行数を受け入れるためにコンポーネントが収縮する際、コンポーネントを基準にしてその位置を保持します。
Excel関数の詳細は、Excelのオンライン・ヘルプ・ドキュメントの関数の参照の項を参照してください。
次の作業は、Excel関数のSUM
とOFFSET
を使用して、Differenceとラベル付けされた列の合計を実行時に計算する様子を示します。ADF表コンポーネントまたはADF読取り専用表コンポーネントがダウンロードする行数に基づいて、拡張または収縮するセルの範囲を参照する場合に、記述するExcel式でOFFSET
関数を使用します。SUM
関数が、Excelのセル範囲の合計を計算します。
開始する前に:
統合Excelワークブックでの計算されたセルの使用方法を理解しておくと役立ちます。詳細は、8.10項「統合Excelワークブックでの計算済セルの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。
ADF表コンポーネントで列の合計を計算するには:
設計モードで、Excel式を記述するセルを選択します。たとえば、H16
です。
実行時にセル範囲で計算を実行するExcel式を記述します。例:
=SUM(OFFSET(G14,1,0):OFFSET(G15,-1,0))
SUM
は、現在G14
とG15
によって参照されているセル範囲の値の合計を計算します。
図8-37は、統合ExcelワークブックのExcel式の設計時の表示を示します。
変更を保存して実行時モードに切り替え、入力したExcel式が正しく評価されるかテストします。
統合ExcelワークブックのExcelイベントに基づいて、マクロを定義して実行できます。
次の点に注意してください:
Excelイベントによってトリガーされるマクロは、ExcelイベントがADFデスクトップ統合によって起動する場合はトリガーされません。
Excelイベントによって起動されるADFデスクトップ統合コードは、Excelイベントがマクロによってトリガーされるときに実行されます。