2024/03/08

Notes - Excel 連携:#32)Excel の保存

第 20 回から「帳票の作成」をネタに展開してきました。前回までで、帳票のデザインや印刷の設定ができ上がりました。今回はできあがった Excel シートの処理方法についてまとめます。


画面に表示

これまでのサンプルプログラムはすべて、画面に表示して終了していました。

   'Excel を UI に表示
   oXls.Visible = True

Visible プロパティを使用して、Excel オブジェクトを見える状態にして、LotusScript は終了します。すると Excel アプリとして Windows に残り、あとの処理はユーザに任せることができます。

この方法は、画面に表示したい場合、サンプル帳票の表示などに適していますね。


Excel ファイルとして保存

Excel ファイルの操作を行うには Workbook オブジェクト を使用します。

まずは、通常の ”保存” を行うメソッド Save です。

Workbook.Save メソッド (Excel)

説明には『指定されたブックへの変更を保存します。』とだけあり、引数がありません。試しに現在作成中の帳票作成エージェントに組み込んだところ、 ”ドキュメント” フォルダに ”Book1.xlsx” として保存されました。新規作成のシートだからでしょうが Windows らしい動きですね。


次は、"名前を付けて保存” の SaveAs です。

Workbook.SaveAs メソッド (Excel)

このメソッドには引数がたくさんありますね。その 1 つ目が FileName です。この引数に保存したいファイル名を完全なパスで指定すると、その通りに保存されます。


ファイルの上書き

上記のメソッドを使用して保存する場合、同名ファイルがあると次のような確認メッセージが表示されます。しかも、[いいえ] を選択すると、保存ができなかったたことから、LotusScript でエラーが発生します。


このメッセージ表示を避けるには、次のプロパティを False に設定します。

Application.DisplayAlerts プロパティ (Excel)

ただ、この設定を行うと必ず上書きするので注意して利用ください。


サンプルプログラム

作成した帳票を特定のファイル名で保存するように変更します。

これまで作成してきた帳票作成プログラムの終了処理を次の通り変更します。赤字の部分以外は、変更していないので省略します。

         ・・・
   '印刷設定
   Call xPageSetup(oSheet)

   '作成した帳票を保存
   oXls.DisplayAlerts = False
   Call oXls.Workbooks(1).SaveAs("E:\Notes-Excel#32.xlsx")
   Call oXls.Workbooks(1).Close()

End Sub

SaveAs メソッドでファイル名を指定して保存、その際に既存ファイルがあっても上書きするよう DisplayAlerts プロパティを False に設定しています。

最後の Close メソッドで Excel を終了させています。


まとめ

上記サンプルではこれまで行っていた Visible を True にしていません。このように記述すると画面上に一切 Excel を表示することなく、Excel の機能を Notes から利用できます。

保存したファイルは、文書に添付したり、メールで送信できます。後続の処理次第で効果的なアプリケーションが構築できそうですね。


前回 Notes - Excel 連携 次回


0 件のコメント:

コメントを投稿