一覧表形式のExcelOpen
ExcelOpenを利用すると、ブラウザでダウンロードしたクライアントのExcelを直接開くことができ、開いたExcelで修正したデータをデータベースに適用できます。
一覧表形式のExcelOpenは単票のひな形と異なり、出力データの件数によってデータの送信範囲が多くなります。
そのため、送信ボタンを押下した時にデータの送信に時間がかかってしまい、タイムアウトになるという事態が発生する可能性があります。
この事態を防ぐため、一覧表形式のExcelOpenでは、データの変更が発生した行のみを送信する仕組みを実装することを推奨しています。
1)ExcelOpenのひな形とレポートの作成
ExcelOpenとして利用したいひな形を用意し、XCuteナビゲーション->ExcelOpenヘルプ(ExcelOpen対応のひな型を作成)
を実行すると、
自動で必要な行列とマクロ、ボタンの差し込みが行われます。
した時の動作を「tests」プロジェクトを利用して解説します。
1-1)準備と実行
ExcelOpenのひな形の作成元となる画面を「sample」シートに作成し、XCuteナビゲーションの「ExcelOpenヘルプ(ExcelOpen対応のひな型を作成)」を実行します。
※既存のファイルを利用したい時は、プロジェクトファイルと同一エクセル上で該当ファイルを開いて実行します
1-2)ExcelOpenヘルプダイアログ
ダイアログが開くので「OK」ボタンを押下します。
1-3)ExcelOpenダイアログ
ひな形の作成が完了したら、ダイアログが開くので「完了」ボタンを押下します。
1-4)ExcelOpenにひな形作成完了
ExcelOpen用のひな形が新しいエクセルブック「S_sample.xlsm」で自動生成されます。
※ExcelOpen用の新規ファイル名は「S_ + 指定したひな型シート名」となります
1-8)送信先(送信ボタン押下時に実行される機能)の作成
送信ボタンのコマンドに指定した「WriteSheet=sample_R」のシートを作成します。
ExcelOpenのひな形と開始の行列セルを同一にし、行数はデータの最大行を想定して設定してください。
NoPostだった行は更新しないよう、1行目に「NoRead」を表示する数式をセットし、最終行の次の行に「DataEnd」を設定します。
R3C8セルには「OverRead=sample,R4C8」、R3C9セルには「Message=送信OK」を設定します。
1-9)マクロの追記
「S_sample.xlsm」を「Visual Basic for
Applications」で開き「sample」シートに下記を追記します。
Excelに変更があった時に実行され、該当レコードの1列目を「Post」に変更します。
2)動作確認