Notes® データベースを表します。
作成方法とアクセス方法
NotesDatabase クラスを使用して既存のデータベースにアクセスしたり、新規データベースを作成するにはいくつかの方法があります。
- サーバーとファイルの名前が分かっている既存のデータベースにアクセスするには、New メソッド、または NotesSession の GetDatabase メソッドを使用します。
- スクリプトが現在実行されているデータベースにサーバー名やファイル名を指定しないでアクセスするには、NotesSession の CurrentDatabase プロパティを使用します。
- サーバーとレプリカ ID が分かっている既存のデータベースにアクセスするには、OpenByReplicaID メソッドを使用します。
- サーバー名は分かっていてもファイル名が分からない 既存のデータベースにアクセスするには、NotesDbDirectory クラスを使用します。
- 現在のユーザーのメールデータベースにアクセスするには、OpenMail メソッドを使用します。
- デフォルトの [Web ナビゲータ] データベースを開くには、OpenURLDb メソッドを使用します。
- 使用可能なアドレス帳にアクセスするには、NotesSession の AddressBooks プロパティを使用します。
- アクセスする前にサーバー名とファイル名を指定してデータベースの存在を確認するには、IsOpen、Open、OpenIfModified などのプロパティやメソッドを使用します。
- 既存のデータベースから新規データベースを作成するには、CreateCopy、CreateFromTemplate、CreateReplica のいずれかのメソッドを使用します。
- まったく新規にデータベースを作成するには Create メソッドを使用します。
- データベースの NotesView、NotesDocument、NotesDocumentCollection、NotesACL、NotesAgent のいずれかを取得している場合は、Parent または ParentDatabase プロパティを使用します。
New
注: New メソッドは COM ではサポートされていません。
サーバーに配置されたデータベースと指定されたファイル名を表す NotesDatabase オブジェクトを作成し、可能であればそのデータベースを開きます。NotesDatabase で New を使用すると、NotesDocument などの他のクラスで使用する場合とは異なり、新規データベースをディスク上に作成しません 。
構文
Dim variableName As
New NotesDatabase( server$ , dbfile$ )
または
Set notesDatabase =
New NotesDatabase( server$ , dbfile$ )
パラメータ
server$
String 型。データベースが置かれているサーバーの名前。空の文字列 ("") を使用すると、現在使用しているコンピュータ上のデータベースが指定されます。スクリプトがクライアント上で実行されるとき、空の文字列はローカルデータベースを示します。スクリプトがサーバー上で実行されるとき、空の文字列はそのサーバーのデータベースを示します。
dbfile$
String 型。Notes または Domino のデータディレクトリにあるデータベースのパスとファイル名です。後でデータベースを開きたいときは、dbfile$ と server$ の両方に空の文字列を指定します。データベースが Notes データディレクトリにないときは、フルパス名で指定します。
戻り値
notesDatabase
指定されたデータベースのアクセスに使用する NotesDatabase オブジェクトを返します。
- 指定された server$ と dbfile$ にデータベースが存在するときは、NotesDatabase オブジェクトが開かれ、スクリプトはオブジェクトのすべてのプロパティとメソッドにアクセスできます。
- 指定された server$ と dbfile$ にデータベースが存在しないときは、NotesDatabase オブジェクトは閉じています。指定された位置に新規にデータベースを作成するには、この NotesDatabase オブジェクトと Create メソッドを使用します。
使用法
スクリプトがデータベースに対応する NotesDatabase オブジェクトのプロパティとメソッドを使用するには、データベースが開かれていなければなりません。ほとんどの場合、データベースはクラスライブラリによって自動的に開かれます。ただし、次の場合に注意してください。
- スクリプトがアクセス権を持たないデータベースを開こうとするとエラーになります。スクリプトがデータベースを開くためには [読者] 以上のアクセス権が必要になります。
- NotesDbDirectory オブジェクトから取得した NotesDatabase は閉じています。Categories、DelayUpdates、DesignTemplateName、FileName、FilePath、IsOpen、Parent、ReplicaID、Server、SizeQuota、SizeWarning、TemplateName、Title の各プロパティは、閉じているデータベースでも使用できます。NotesDbDirectory から取得したデータベースのすべての他のプロパティとメソッドにアクセスするには、スクリプトはデータベースを明示的に開かなければなりません。
- NotesSession の AddressBooks プロパティから取得した NotesDatabase は閉じています。FileName、FilePath、IsOpen、IsPrivateAddressBook、IsPublicAddressBook、Parent、Server の各プロパティは、閉じているデータベースでも使用できます。AddressBooks プロパティから取得したデータベースのすべての他のプロパティとメソッドにアクセスするには、スクリプトは明示的にデータベースを開かなければなりません。
- 指定された server$ と dbfile$ にデータベースがないときには、New を使用して取得された NotesDatabase は閉じています。FileName、FilePath、IsOpen、Parent、Server の各プロパティは、閉じているデータベースでも使用できます。
データベースが開いているかどうかを調べるには IsOpen プロパティを使用します。閉じているデータベースを開くには Open または OpenIfModified を使用します。
アクセスレベル
スクリプトがアクセス権を持たない操作を実行しようとするとエラーが起きます。NotesDatabase オブジェクトでスクリプトが使用できるプロパティとメソッドは、次の要因で決定されます。
- データベースに対するスクリプトのアクセスレベル。これは、データベースのアクセス制御リスト (ACL) で決定されます。スクリプトがデータベースを開けるかどうか、文書のデータベースへの追加、削除、ACL の変更などが可能かどうかは ACL で決定されます。
- データベースのサーバーに対するスクリプトのアクセスレベル。これは Domino ディレクトリのサーバー文書で決定されます。エージェントの実行可能時間と利用できる LotusScript® の機能は、サーバー文書で決定されます。
スクリプトがサーバーで実行されるとき、データベースとサーバーに対するスクリプトのアクセスレベルは、スクリプトの所有者のアクセスレベルに従います。所有者とはスクリプトを最後に保存したユーザーを指します。スクリプトがクライアントで実行されるときは、データベースとサーバーに対するアクセスレベルは、現在のユーザーのアクセスレベルに従います。