この章の内容は次のとおりです。
Excel機能とOracle ADF機能の両方を使用して、統合Excelワークブックの外観を構成します。
ワークブックの外観を構成すると、エンド・ユーザーにとってのワークブックの使い勝手をよくすることができます。たとえば、実行時にADF出力テキスト・コンポーネントをレンダリングするセルに特定のスタイルを適用して、そのセルが読取り専用であることをエンド・ユーザーに示すことができます。また、会社のスタイル・シートやExcelワークブックが統合するFusion Webアプリケーションの色のスキームと一致するように、統合Excelワークブックの外観を構成する場合もあります。
統合Excelワークブックでスタイルを使用してデータを構成することには、様々な利点があります。たとえば、ADF出力テキスト・コンポーネントに特定のスタイルを使用し、ADF入力テキスト・コンポーネントには異なるスタイルを使用できます。
ADFデスクトップ統合には、ワークブックで構成するADFデスクトップ統合コンポーネントに適用する事前定義済のExcelスタイルがいくつか用意されています。デスクトップ統合プロジェクトのニーズを満たすために、追加のスタイルを定義することもできます。その場合は、ロケールや地域、言語に応じて様々にレンダリングされるExcelワークブックの形式を十分に理解しておいてください。
スタイルを使用して、ADFデスクトップ統合のコンポーネントの外観をカスタマイズできます。その例として、図10-1は、EditCustomers-DT.xlsx
のADF表の列に適用される様々なスタイルを示しています。
図10-1 EditCustomers-DT.xlsxのADF表の列に適用されるスタイル
統合Excelワークブックの外観を構成するためにスタイルを適用した後、ワークブックを構成するための機能をさらに追加することが必要になる場合があります。次の各項では、使用可能なその他の機能について説明します。
ブランディング: ADFデスクトップ統合には、スタイル以外にもプロパティの集合(BrandingItems
)が用意されており、これによって、アプリケーション名、アプリケーションのバージョン詳細および著作権情報を使用した統合Excelワークブックのブランディングが可能になります。「統合Excelワークブックのブランディング」を参照してください。
ローカライズ: Fusion Webアプリケーションでの国際化およびローカライズの処理の一部として、統合Excelワークブックをカスタマイズできます。「統合Excelワークブックの国際化」を参照してください。
ADFデスクトップ統合には、Excelの名前付きスタイルを実行時にOracle ADFコンポーネントに適用するメカニズムが用意されています。
スタイルの適用をサポートするOracle ADFコンポーネントには、名前にStyleNameを含むプロパティがあります。たとえば、ADF表コンポーネントの列プロパティは、実行時に適用されるスタイルを決定するプロパティHeaderStyleName
およびCellStyleName
をサポートします。
多くのプロパティには、ADFデスクトップ統合のスタイルの事前定義済リストから引き出されるデフォルトの値があります。たとえば、HeaderStyleName
プロパティのデフォルト値は、ADFデスクトップ統合で事前定義されたスタイルの1つであるColumn Header
です。ADFデスクトップ統合は、ExcelワークブックがADFデスクトップ統合との併用が有効になっている場合、これらの事前定義済スタイルをExcelワークブックに自動的に追加します。ADFデスクトップ統合で提供される事前定義済スタイルは、http://www.oracle.com/webfolder/ux/middleware/alta/index.html
に説明されているOracle Alta UIと整合性があります。
次に、事前定義済スタイルを示します。
フォームのスタイル:
Form Header
Form SubHeader
Input Text
Label
Output Text
表のスタイル:
Column Header
Data Cell
Indicator Cell
Key Cell
Read-only Cell
Status Cell
ブランド領域
ヒント:
Microsoft Excelには、「スタイルのコピー」ダイアログ(「ホーム」実行時リボンの「スタイル」ギャラリからアクセス)があり、ワークブック間ですべての名前付きスタイルをマージできます。
追加で使用するスタイルをExcelワークブックで作成することもできます。たとえば、日付に固有の形式を追加するには、Data Cell
を複製して、My Date Cell
という名前を付け、日付に固有の形式を追加します。
実行時にADFデスクトップ統合のコンポーネントに適用するスタイルを決定したら、EL式を記述してスタイルをコンポーネントに関連付けることができます。StyleNameを名前に含むADFデスクトップ統合コンポーネントのプロパティは、EL式を値として受け入れます。他のADFコンポーネントのADFラベル・コンポーネントとLabel
プロパティでも、EL式がサポートされます。これらのEL式は、リソース・バンドルで定義された文字列キーの値やFusion Webアプリケーションで定義された属性コントロール・ヒントの値を取得できます。
新しいスタイルの作成と、ワークブックへのスタイルのマージの詳細は、Excelのドキュメントを参照してください。
Excelでセルに適用できる、「数値」スタイルの「日付」に分類される表示形式の一部は、ユーザーがMicrosoft Windowsの「コントロール パネル」からアクセスできる「地域と言語のオプション」を使用してローカル・システムのロケールを変更すると変わります。「タイプ」リストのこれらの形式の先頭に*文字が付きます。図10-2に示す日付の種類の例では、フランス語(フランス)の表記規則を使用してセルの日付書式が設定されています。
図10-2 Excelのフランス語の日付書式
エンド・ユーザーが、図10-3にあるように「英語(米国)」を使用するようにシステムの地域オプションを変更した場合、図10-2のスタイルでフォーマットされるセルは、「英語(米国)」の表記規則を使用します。
注意:
Excelが時間コンポーネントのないデータ値を適切に書式設定および操作するようにするには、フォームまたは表の属性で、アプリケーションのモデル定義内のjava.sql.Date
データ型を使用する必要があります。
Oracle ADFコンポーネントにスタイルを適用するには、プロパティ・インスペクタを使用して、StyleNameを名前に持つプロパティの値を設定します。
始める前に:
スタイルについて理解しておくと役立ちます。「スタイルの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。「統合Excelワークブックの外観の構成の追加機能」を参照してください。
スタイルを適用するには:
名前にStyleNameが付いているプロパティの値として入力したEL式は、実行時に評価されます。これが事前定義済スタイルまたは開発者が定義したスタイルに対応する場合、そのスタイルはプロパティを設定したADFコンポーネントに適用されます。
ADFコンポーネントを参照するセルにスタイルが適用されている場合、ADFコンポーネントは、そのStyleName
プロパティで参照されるスタイルで定義されたプロパティ値(フォント、配置など)で、実行時にスタイルを上書きします。
たとえば、図10-5に、Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsx
ワークブックのOutput Text
スタイルで定義されたウェアハウスIDフィールドの実行時の外観を示します。
図10-5 スタイルを適用したコンポーネントの実行時の外観
StyleNameを名前に含むOracle ADFコンポーネントのプロパティは、EL式を値として受け入れます。
記述するEL式は、実行時に指定されたADFコンポーネントに適用されるExcelスタイルに解決することができます。記述するEL式は、ADFデータ・バインディング式などを使用するExcel式です。
次の例は、EL式を使用して、実行時のADFコンポーネントの動作および外観を決定できる様々なコンテキストを示しています。例10-1では、ダウンロード時にスタイルを動的に適用します。バインディングのステータス値がClosed
の場合、読取り専用スタイル(MyReadOnlyStyle
)を適用します。それ以外のときは、別のスタイル(MyReadWriteStyle
)を適用します。
例10-2では、Excel式とADFバインディング式を取り混ぜて使用し、エラーおよびタイプ変換を処理します。例10-3は、カスタム属性プロパティを使用して、スタイルを指定する方法を示します。カスタム属性プロパティの詳細は、「ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用」を参照してください。
例10-1 ダウンロード時にスタイルを動的に適用する場合
=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")
例10-2 エラーをタイプ変換を処理するEL式
=IF(ISERROR(VALUE("#{bindings.DealSize}")), "BlackStyle", IF(VALUE("#{bindings.DealSize}") > 300, "RedStyle", "BlackStyle"))
例10-3 カスタム属性プロパティを使用したスタイルの指定
#{bindings.EmpCompView1.hints.EmployeeId.diCellStyle}
実行時にEL式を評価する際、ADFデスクトップ統合はEL式が参照する値を決定します。そしてExcel式のEL式を、その値に置換します。例10-1では、まずADFデスクトップ統合は次のExcel式でバインディング式#{bindings.Status}
の値を決定します。
=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")
続いて、次の例にあるようにバインディング式を実行時の値に置換します(ここでは、式はClosed
に評価されます)。
=IF("Closed" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")
Excelは式を評価し、この例ではMyReadOnlyStyle
スタイルに適用します。
Oracle ADFコンポーネントのプロパティ・インスペクタからアクセスできる「式の編集」ダイアログに、EL式をサポートするOracle ADFコンポーネントのプロパティのEL式を記述します。図10-6に、リボン・コマンドの「プロパティ・インスペクタ」ウィンドウから起動された「式の編集」ダイアログを示します。
図10-6 「式の編集」ダイアログ
始める前に:
動的にスタイルを適用する方法を理解しておくと役立ちます。「EL式を使用した動的なスタイルの適用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。「統合Excelワークブックの外観の構成の追加機能」を参照してください。
実行時にスタイルを適用するEL式を記述するには:
スタイルを適用するEL式について、次の点に注意してください。
スタイルに評価されるEL式は、次の場合に適用されます。
ADF表コンポーネントがDownload
アクションまたはDownloadForInsert
アクションを起動する場合
行がADF表コンポーネントに挿入される場合
アクション・セットは、ワークシートDownSync
アクションを起動します。
スタイルに評価されるEL式は、次の場合には適用されません。
行レベルのアクション・セットは、ADF表コンポーネントRowDownSync
アクションを起動します。
エンド・ユーザーがセルの形式のプロパティを編集する場合
エンド・ユーザーがセルの値を編集した場合、スタイルに評価されるEL式は再評価されません。
EL式の実行時の値は、エンド・ユーザーの統合Excelワークブックで定義されたスタイルには一致しません。
このシナリオでは、対象セルのスタイルの形式は変わりません。既存のスタイル形式が保持されます。クライアントサイドのロギングを構成した場合、EL式がエンド・ユーザーの統合Excelワークブックで定義されていないスタイルに評価されると、ADFデスクトップ統合はログ・ファイルにエントリを生成します。クライアント・サイドのロギングの詳細は、「統合Excelワークブックのログ・ファイルの生成」を参照してください。
ユーザーがセル間を移動するときやアップロード時。ADFデスクトップ統合は、これらのエンド・ユーザーのアクション中は、スタイルを評価または適用しません。
Excelでは、カスタム名の付いた様々なスタイルがワークブックにある場合、Excelからそのワークブックのコピーを保存すると、どのセルにも適用されていないカスタム名のスタイルがExcelによって自動的に(警告なしで)削除されます。
EL式でのみ使用され、どのセルにも適用されていないスタイルがある場合は、Excelによってそれらが削除されることがあります。
ADFデスクトップ統合の公開機能により、ワークブックのコピーが作成されます。このため、使用されていないスタイルが消えることがあります。回避策は、未使用のワークシート上の使用されていないセルに各スタイルを1回適用することです。
ラベルを使用して、統合Excelワークブックの機能をどのように使用するかについての情報をエンド・ユーザーに提供します。
リソース・バンドルで定義された文字列キーの値あるいは属性コントロール・ヒントを取得するEL式を記述できます。統合Excelワークブックは、ワークブックが初期化されるときにのみLabel
プロパティの値を評価します。
図10-7に、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsx
ワークブックの設計時の表示の部分を示します。これは、EL式を使用して、そのLabel
プロパティの値を取得するADFラベル・コンポーネントを示します。
図10-7 Labelプロパティを持つADFラベル・コンポーネントとADF入力テキスト・コンポーネントの設計時の表示
このEL式は、実行時に、ADFデスクトップ統合のSummitサンプル・アプリケーションに登録されたres
リソース・バンドルに定義された文字列キーに解決されます。リソース・バンドルは、「ワークブック・プロパティ」ダイアログで定義します。リソース・バンドルからの文字列キーの参照の詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。
図10-8は、図10-7に設計モードで示されているADFラベル・コンポーネントの対応する実行時の表示を示しています。
図10-8 ADFラベル・コンポーネントの実行時の表示
リソース・バンドルからの文字列キーの他に、ADFラベル・コンポーネントと他のADFコンポーネントのLabel
プロパティは、JDeveloperプロジェクトのエンティティ・オブジェクトとビュー・オブジェクトに定義する属性コントロール・ヒントを参照できます。図10-9は、EditCustomers-DT.xlsx
ワークブックのADF表コンポーネントにあるPhone
列の式ビルダーを示しています。式ビルダーは、実行時に属性コントロール・ヒントに定義される値(Phone
)を取得する、Phone
列のHeaderLabel
プロパティに対するEL式を含みます。
図10-9 Labelプロパティの属性コントロール・ヒントの値を取得するEL式
属性コントロールのヒントは、ビュー・オブジェクトとエンティティ・オブジェクトの両方に構成できます。エンティティ・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のエンティティ・オブジェクトの属性のコントロール・ヒントの定義に関する項を参照してください。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のビュー・オブジェクトのUIヒントの定義に関する項を参照してください。
統合Excelワークブックは、エンド・ユーザーが初めてワークブックを開いた後、ワークブックが初期化されるときにADFコンポーネントのLabel
プロパティを評価します。統合Excelワークブックは、ワークブック自身がシステム上のディレクトリに保存されるときに、Label
プロパティの取得された値を保存します。
Label
プロパティの取得された値は、ワークシートのDownSync
アクションやADF表コンポーネントのDownload
アクションのようなアクションの起動中にリフレッシュされません。表A-18に示されるようにワークブックのアクションClearAllData
またはEditOptions
を起動する場合、Label
プロパティの取得された値を間接的にリフレッシュします。
ADFデスクトップ統合には、アプリケーション名やバージョン情報、著作権情報などの情報によって構成して統合Excelワークブックのブランディングに使用できるいくつかの機能があります。
この情報を統合Excelワークブックに関連付けるために、ワークブックのBrandingItems
プロパティ・グループを使用できます。エンド・ユーザーがViewAboutDialog
ワークブック・アクションを実行時に起動するリボン・コマンドをクリックすればこのブランディング情報を閲覧できるように、「実行時リボン・タブの構成」の説明に従って、リボン・タブを構成する必要があります。表A-18を参照してください。
ADFデスクトップ統合には、統合Excelワークブックのブランディングをサポートするスタイル(Branding Area
)も用意されています。ADFデスクトップ統合のサンプル・アプリケーションでは、各サンプル・ワークブックの最初の行にこのスタイルを適用します。図10-10に示すように、スタイルをADFイメージおよびADF出力コンポーネントとともに使用することで、サンプル・アプリケーション内の統合Excelワークブックで一貫性のあるブランディングを実現できます。
また、リソース・バンドルに文字列キーを定義して、タイトルなどの情報を1つの場所に定義しておくと、実行時、EL式がこれらの文字列キーの値を取得する際に、統合Excelワークブック内の複数の場所でこの情報を使用できます。文字列キーの定義の詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。
ワークブックBrandingItems
プロパティ・グループの値を定義します。
始める前に:
統合Excelワークブックのブランドのカスタマイズ方法を理解しておくと役立ちます。「統合Excelワークブックのブランディング」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。「統合Excelワークブックの外観の構成の追加機能」を参照してください。
統合Excelワークブックをブランディングするには:
ヒント:
ブランドのイメージまたはロゴを統合Excelスプレッドシートに追加することもできます。「ADFイメージ・コンポーネントの挿入」を参照してください。
実行時には、BrandingItems
プロパティ・グループに定義する名前と値の組合せが、エンド・ユーザーが実行時リボン・タブの「情報」リボン・コマンドを使用して起動する、「情報」ダイアログの「情報」タブに表示されます。「実行時リボン・タブの構成」の説明に従って、実行時リボン・タブが表示されるように構成します。図10-12に、Excelワークブックのブランディング項目の実行時の表示を示します。
図10-12 ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の実行時の表示
注意:
ワークブック・プロパティのBrandingItems
グループにプロパティを指定しないと、実行時に「情報」タブが「情報」ダイアログに表示されません。
ADFデスクトップ統合コンポーネントおよび表の列ヘッダーにヒントまたは指示するには、ツールチップを使用します。ツールチップは、コンポーネントを配置するセルの「コメント」ウィンドウまたは列のヘッダー・セル(表の列ヘッダーの場合)に表示されます。
ツールチップは、リテラル文字列またはEL式として定義できます。リテラル文字列は、コンポーネントまたは列のTooltipプロパティに入力します。Tooltipプロパティの値として、EL式(リソース式を含む)を指定することもできます。実行時に、EL式は表示するツールチップに解決されます。
注意:
ADFデスクトップ統合では、EL式でtoolTip
属性コントロール・ヒントもサポートされます。サポートは、「ADFデスクトップ統合のEL式」の表B-3で説明されているmandatory
コントロール・ヒントと同様です。
コンポーネントをバインディング要素から作成する場合、ツールチップはモデルドリブン・ツールチップに自動的に設定され、そうでない場合は空になります。ツールチップは、ADFラベル・コンポーネントに対しては最初は常に空になります。表の列ヘッダーの場合、レンダリングされるデフォルト値は、図10-13に示すように、Fusion Webアプリケーションの属性コントロールTooltip
プロパティの値になります(ADF表コンポーネントをツリー・バインディングから作成した場合)。特殊な列(「変更済」、「フラグ付き」、「ステータス」)は例外です。デフォルトでは、これらはツールチップをレンダリングしません。
属性コントロールのヒントは、ビュー・オブジェクトに構成できます。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のビュー・オブジェクトのUIヒントの定義に関する項を参照してください。統合Excelワークブックの属性コントロール・ヒントの値を取得する方法の詳細は、「属性コントロール・ヒントの値の取得」を参照してください。
詳細は、「ADF表コンポーネントへのツールチップの追加方法」および「フォーム・タイプ・コンポーネントへのツールチップの追加方法」を参照してください。
図10-13 ADF表の列ヘッダーにツールチップをレンダリングする属性コントロール・ヒント・ツールチップ
注意:
図10-13は、EditCustomers-DT.xlsx
ワークブックの「郵便番号」列ヘッダー・セルの右上の小さい赤色の矢印を示しています。これは、ヘッダー・セルにコメントがあることを示します。マウス・ポインタをセルに合せると、ツールチップ・メッセージが表示されます。
ツールチップをレンダリングするADF表コンポーネントの列のTooltip
プロパティを構成できます。
始める前に:
ツールチップについて理解しておくと役立ちます。「ADFデスクトップ統合コンポーネントでのツールチップの表示」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。「統合Excelワークブックの外観の構成の追加機能」を参照してください。
表の列ヘッダーにツールチップを追加する手順:
ツールチップをレンダリングするコンポーネントのTooltip
プロパティを構成できます。
始める前に:
ツールチップについて理解しておくと役立ちます。「ADFデスクトップ統合コンポーネントでのツールチップの表示」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。「統合Excelワークブックの外観の構成の追加機能」を参照してください。
挿入されたフォームタイプ・コンポーネントにツールチップを追加する手順:
図10-16に、実行時のツールチップ・メッセージを示します。入力テキスト・コンポーネントの右上にある小さな赤い矢印に注意してください。これは、コンポーネントまたはセルにコメントがあることを示します。マウス・ポインタをコンポーネントに合せると、ツールチップ・メッセージが表示されます。
図10-16 実行時の入力テキスト・コンポーネントのツールチップ・メッセージ
ツールチップは1回のみレンダリングされ、Worksheet.DownSync
をコールした後は更新されません。
設計時にADFコンポーネントを含むセル(またはマージされたエリア)に手動で追加されたExcelコメントは実行時に削除され、ADFコンポーネントのツールチップに置き換えられます。同様に、テスト・モード中にADFコンポーネントに手動で追加されたExcelコメントは、統合Excelワークブックが設計時モードに戻ると削除されます。ADFコンポーネントのないセルまたはツールチップをサポートしないADFコンポーネントに追加されたExcelコメントは、そのままになります。
実行時に、Tooltip
プロパティが空でない場合、式が評価され、結果のテキストの空白がトリムされます。最終値が空でない場合は、その値がターゲット・セルにExcelコメントとして挿入されます。
コンポーネントがマージされたセル範囲に配置される場合、ツールチップはマージされた範囲の右上隅に表示されます。
ツールチップを表の列(「表の列のツールチップに関する必知事項」)およびワークシートのリボン・コマンド(「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」)に追加することもできます。
注意:
ツールチップは、保護されたワークシートでは編集できません。
リボン・コマンド・ツールチップには、1024文字の最大サイズがあります。ツールチップ値がこの制限を超えた場合は、最初の1024文字のみ表示されます。
Excelコメントが無効になっている場合、フォーム・コンポーネントと表ヘッダーのツールチップはレンダリングされません。
ツールチップが過剰に使用されると、実行時のパフォーマンスに影響することがあります。
列ヘッダーのツールチップは、表の最初の初期化、Table.Initialize
、Table.Download
アクションなど、表の列ヘッダーがレンダリングされるときに評価およびレンダリングされます。
列のTooltip
プロパティが空でないEL式に設定されている場合は、EL式が評価されるテキストは空白がトリムされ、ターゲット・セルにExcelコメントとして挿入されます。
実行時に展開された各動的列の一意のツールチップを取得するには、ToolTip
プロパティに次の構文で式を入力します。
#{bindings.<TreeID>.hints.*.tooltip}
実行時に、動的列は指定されたツリーまたはノードの使用可能な属性のセットに展開されます。ADFデスクトップ統合では、対応するツールチップ値も取得され、前述のルールを使用して適切な列に適用されます。
ツールチップの詳細は、「フォーム・タイプ・コンポーネントのツールチップに関する必知事項」を参照してください。表コンポーネントの特殊な列のヘッダー(「ADF表コンポーネント内の特殊な列」を参照)および動的な列(「ADF表コンポーネントへの動的な列の追加」を参照)にツールチップを追加することもできます
デフォルトでは、ADFラベル、ADF出力テキスト、ADF表コンポーネントのヘッダー行など、読取り専用の動作を意味する、ロックされたセルおよびADFデスクトップ統合コンポーネントの値をエンド・ユーザーが実行時に編集できます。
データをアップロードする際、ADFデスクトップ統合は、コンポーネントを次に参照するときに、これらの変更を無視して上書きします。
様々なADFデスクトップ統合コンポーネント(例: ADF入力テキスト・コンポーネント)およびサブコンポーネント(例: ModelDrivenColumnComponentサブコンポーネント)には、ReadOnly
プロパティが含まれます。
ロックされたセルが実行時に編集されるのを防ぐには、ADFデスクトップ統合ワークシート保護を有効にします。オプションで、エンド・ユーザーがワークシート保護をオフにしないように、パスワードを提供できます。
Excelのシートの保護機能やブックの保護機能は、統合Excelワークブックで直接使用しないでください。また、エンド・ユーザーがこれらの機能を使用しないようにしてください。
ワークシート保護を使用すると、ロックされたセルおよび読取り専用セルについて正真正銘の読取り専用モードを有効化し、実行時に編集されないようにします。
始める前に:
ワークシート保護について理解しておくと役立ちます。「ワークシート保護の使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。「統合Excelワークブックの外観の構成の追加機能」を参照してください。
ワークシート保護を有効化するには:
実行時にエンド・ユーザーが読取り専用のセルやADFデスクトップ統合の読取り専用コンポーネントを編集しようとすると、Excelに図10-18に示すような警告メッセージが表示されます。
ワークシート保護が有効化されている場合、ADFデスクトップ統合はADFデスクトップ統合コンポーネントの範囲にあるセルのLockedプロパティを制御します。ADFデスクトップ統合コンポーネントの範囲外にあるLockedプロパティは、影響を受けません。ADFデスクトップ統合では、ADFデスクトップ統合コンポーネントの範囲外にあるセルのLockedプロパティを変更しません。
実行時には、ADFデスクトップ統合はコンポーネントの読取り専用動作を評価します。ADFラベルやADF出力テキストなど一部のコンポーネントは常に読取り専用で、ADF入力テキストのような他のコンポーネントは読取り専用のプロパティを持っています。実行時には、読取り専用コンポーネントがtrueに評価されると、Lockedプロパティはtrueに設定されます。ADF表コンポーネントのヘッダー・ラベルは常に読取り専用ですが、列のサブコンポーネントは、構成によって読取り専用になる場合とならない場合があります。実行時には、各コンポーネントの読取り専用の動作が評価され、対応するセルのLockedプロパティは適切な値に設定されます。
ワークシート保護は、デフォルトでは有効になっていません。特定のワークシートに使用する場合は、設計時に有効にできます。また、ワークシートの保護が有効化された後は、セルのLockedプロパティは、実行時に設定されます。
ワークシート保護に使用するパスワードは暗号化されず、安全な場所に保存されない点にも注意してください。ワークシートの保護は、ワークシートの操作性を向上するためのものであり、重要なデータを保護するものではありません。
ワークシート保護を有効化した後は、Excelの動作が異なります。主な動作の違いは次のとおりです。
ADF表コンポーネントはKey列に読取り専用セルを含むため、ソートできません。
エンド・ユーザーは行全体または列全体を挿入できます。ただし、一度挿入すると削除はできません。
エンド・ユーザーは行や列を部分的には挿入できません。
サーバー上のビュー・オブジェクトに定義したカスタム属性プロパティと、統合ExcelワークブックのADFデスクトップ統合ELベースのプロパティを使用できます。デフォルトでは、ADFデスクトップ統合EL式は、サーバー上で定義されたカスタム属性プロパティをサポートしていません。
サポートを有効にするには、Worksheet.CustomAttributePropertiesEnabled
プロパティをTrue
に設定する必要があります。
サポートを有効にすると、ELベースのプロパティ値でカスタム属性プロパティ名を参照できます。
カスタム属性プロパティを有効にする前に、1つ(またはそれ以上の)カスタム属性プロパティをFusion Webアプリケーションに構成します。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のビュー・オブジェクトのUIヒントの定義に関する項を参照してください。
統合Excelワークブックでカスタム属性プロパティを有効にする手順:
CustomAttributePropertiesEnabled
をTrue
に設定します。CustomAttributePropertiesEnabled
をTrue
に設定すると、次のいずれかの形式を使用して、EL式内のカスタム属性プロパティを参照できます。
属性ヒントの場合、"#{bindings.{attr id}.hints.{custom property}}"
の形式を使用します。
ツリー属性の場合、"#{bindings.{tree id}.hints.{attr id}.{custom property}}"
の形式を使用します。
動的列ヒントの場合、"#{bindings.{tree id}.[{node id}].hints.*.{custom property}}"
の形式を使用します。
次の例のdiCellStyle
は、関連するモデル属性に開発者が追加したカスタム属性プロパティです。
静的列の例: #{bindings.EmpCompView1.hints.EmployeeId.diCellStyle}
動的列の例: #{bindings.EmpCompDeclSqlView1.[model.EmpCompDeclSqlView].hints.*.diCellStyle}
ワークシートのCustomAttributePropertiesEnabled
がTrue
に設定されている場合、ADFデスクトップ統合ELベースのプロパティは、サーバーから返されたカスタム属性プロパティの値の評価を開始します。
ヒント:
最適なパフォーマンスのために、可能であれば、カスタム・プロパティ値をリテラル値(例: Excelスタイル名)にしてください。
CustomAttributePropertiesEnabled
プロパティおよびその動作に関して、次の点に注意してください。
カスタム・プロパティ名では大文字と小文字が区別されます。
注意:
カスタム・プロパティ値が、列の読取り専用プロパティについて評価されるEL式の場合、このEL式の評価の詳細は「読取り専用プロパティのEL式の評価」を参照してください。ELの再評価は、標準の属性ヒント値には適用されません。
CustomAttributePropertiesEnabled
がTrue
の場合、ELのカスタム・プロパティ名の検証エラーは構成検証でレポートされません。
CustomAttributePropertiesEnabled
がFalse
の場合、ELのカスタム・プロパティ名の検証エラーは構成検証でレポートされます。
カスタム・プロパティ名が、予約済のヒント名(例: label
)と一致している場合、カスタム・プロパティは無視されます。