0

すべてのビュー (フォルダー) の内容を取得しています。受信トレイ、カレンダー、ToDo などのように

タイトルで述べたように、ユーザーが作成したフォルダーの内容にアクセスしたいと考えています。たとえば、「Folder1」とサブフォルダー「ABC」

私はそれを次のように行うことができます:

 NotesView folder = _notesDatabase.GetView("(Folder1)");
 NotesDocument docFolder = folder.GetFirstDocument();

サブフォルダーの場合: NotesView folder = _notesDatabase.GetView("(Folder1/ABC)");

しかし、ここではフォルダ名を指定する必要があります。事前に知ることはできません。だから私はそれをハードコーディングすることはできません。

ユーザーが作成したフォルダとサブフォルダのリストのみを取得する方法はありますか?

4

2 に答える 2

1

NotesDatabaseViewsプロパティを使用してビューのコレクションを取得できます

_notesDatabase.Views

そのコレクションをループすると、各ビューのIsPrivateプロパティを調べて、それがユーザーによって作成されたプライベートビューであるかどうかを確認できます。Lotusscriptでは次のようになります

Dim allViews as Variant
Set allViews = _notesDatabase.Views
ForAll myview In allViews
    If myview.IsPrivate Then
        'Do something
    End If
End ForAll
于 2009-09-11T13:46:45.177 に答える
1

メールボックス内のすべてのフォルダーを反復処理するには、NotesDatabase.ViewsisFolderプロパティを使用します。次に、($Inbox)、($Junkmail) などを明示的に除外できます。または、名前が「(」で始まるフォルダーはシステム フォルダーであるというヒューリスティックを使用します。

Dim session As New notessession

Forall fa_view In session.currentdatabase.views
    If fa_view.isFolder() Then
        If Left$(fa_view.name,1) <> "(" Then    Print fa_view.name
    End If
End Forall

Ken Pespis の提案isPrivateはより適切であり、ユーザーが共有フォルダーの作成を許可されていない限り機能します。これがデフォルトの Notes アクセスかどうかはわかりません。

于 2009-09-11T13:58:03.293 に答える