共通ライブラリの「(Declaration)」に記述しておくと,後々幸せになれるかもしれない定数およびグローバル変数の一覧です。ただし,これらのサンプルは筆者の好みで作成したため,読者諸兄姉が参画しているプロジェクトに「コーディング標準」や「コーディング規約」がある場合は,現場の指示に従ってください。なお,この記事は,Lotus Notes(LotusScript)を前提としていますが,VBAにも応用できると思います。
免責事項
本Webサイトの手順を実行することでデータやお使いの環境が破壊される可能性があります。本Webサイトは,読者諸兄姉ご自身の責任と判断でご使用ください。本Webサイトの手順を実行したことに起因する直接的又は間接的な損害に関して一切の責任を負うものではありません。また,記事の内容等の安全性,妥当性,正確性,最新性などに対する保証行為を一切しておりません。
目次
メッセージ関連
このブロックではエージェントの処理結果や,共通ライブラリ内の関数,サブルーチンで出力するメッセージを定義しておきます。定数は全て大文字,グローバル変数は最初の1文字を「g」とするなど,ルールを決めておくと良いでしょう。
' ---------------------------------------------------------------------
' メッセージ関連
' ---------------------------------------------------------------------
%INCLUDE "lsconst.lss"
Dim gNewLine As String
Const DAILY_PROC = "(日次処理)"
Const MONTHLY_PROC = "(月次処理)"
Const RE_SUCCESS = "正常終了"
Const RE_WARNING = "警告終了"
Const RE_ERROR = "異常終了"
Const FORMAT_DT = "YYYY/MM/DD hh:nn:ss"
Const FORMAT_D = "YYYY/MM/DD"
Const MSG_00_E001 = "環境文書が作成されていません。(00_E001)"
Const MSG_00_E002 = "公開アドレス帳の取得に失敗しました。(00_E002)"
Const MSG_00_E003 = "「<FILE_NAME>」の削除に失敗しました。(00_E003)"
Const MSG_00_I004 = "「<FILE_NAME>」を削除しました。"
Const MSG_00_E005 = "添付ファイル一時保管場所(<PATH_NAME>)の作成に失敗しました。(00_E005)"
Const MSG_00_E006 = "リクエストに失敗しました、処理を停止します。(00_E006)"
Const MSG_00_E900 = "引数が不正です。(00_E900)"
Const MSG_00_I999 = "処理がキャンセルされました。"
- gNewLine
グローバル変数。「(Declaration)」では改行コードを定義できないため,共通ライブラリの「Initialize」で改行(Chr$(13) & Chr$(10))を代入します。 - FORMAT_DT
日付のフォーマットを定義します。
【使用例】 whenNow$ = Format(Now, FORMAT_DT) - MSG_00_E001,MSG_00_E002など
各処理で出力するメッセージを定義します。「MSG」はメッセージの略。「00」はスクリプトライブラリの番号。「E001」はメッセージ番号(Eはエラー,Wは警告,Iはインフォメーションなど)。設計書のメッセージ番号と合わせておくと,どのライブラリの何番のメッセージが分かりやすくなるため,デッバグや追加要件の対応で幸せになれるでしょう。
状況の定義
文書や処理の状況を定義します。関数やサブルーチンの引数で使用したり,文書の変更履歴の更新で使用することを想定しています。
' ---------------------------------------------------------------------
' 状況
' ---------------------------------------------------------------------
Const NEW_DOC = "新規作成"
Const DEL_DOC = "文書削除"
Const UNDEL_DOC = "削除の解除"
Const START_PROC = "処理開始"
Const END_PROC = "処理終了"
I/Oファイル関連
入出力ファイル(文書に添付するファイルを含む)のフォーマットや,CSVファイルの区切り値を定義します。
' ---------------------------------------------------------------------
' I/Oファイル関連
' ---------------------------------------------------------------------
Const DEFAULT_PATH = "c:¥work"
Const EXCEL_FILES = "EXCEL 97-2003 (*.xls)|*.xls|All files (*.*)|*.*"
Const EXCEL_FILES_2007 = "EXCEL 2007 (*.xlsx)|*.xlsx|EXCEL 97-2003 (*.xls)|*.xls|All files (*.*)|*.*"
Const CSV_FILES = "CSV files (*.csv)|*.csv|Text files (*.txt)|*.txt|All files (*.*)|*.*"
Const TEXT_FILES = "Text files (*.txt)|*.txt|CSV files (*.csv)|*.csv|All files (*.*)|*.*"
Const PDF_FILES = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"
Const CNS_SC = "'" ' シングルクォーテーション
Const CNS_DC = """" ' ダブルクォーテーョン
Const CNS_COMM = "," ' カンマ
【使用例】
開くダイアログボックス(OpenFileDialog)からファイル名を取得する例です。ライブラリで定義した「EXCEL_FILES_2007」と「DEFAULT_PATH」を使用しています。
Dim ws As New NotesUIWorkspace
Dim varRet As Variant
varRet = ws.OpenFileDialog(True, "ファイル選択", EXCEL_FILES_2007, DEFAULT_PATH)
- 表示するファイルを制限するフィルタ(第3引数)
「EXCEL_FILES_2007」を指定することで,初期値としてxlsxファイルのファイルのみが表示されます。 - ダイアログボックスで開くディレクトリ(第4引数)
「DEFAULT_PATH」を指定することで,初期値としてc:¥workディレクトリが開きます。