プロが教える店舗&オフィスのセキュリティ対策術

この教えてgooや外のネットの記事などから次の様なExcelVBA上のマクロでローカルに保存していた過去のNotesメールを参照したいと思いましたが、DBがOpenしてくれません。
 どこに問題があるのでしょうか?何方か、お教えいただけないでしょうか。

状況
、NotesはVer4.6でローカルに保存している過去のメール
・当然Notesからは見る事が出来ますし、Notesを動かしている状況でマクロを動かしています。
・ExcelはVer2010。Windows10 HomeEdition

 動かしてみたマクロは下記の通り。
Sub Macro1()
Dim ses As Object 'The notes session
Dim db As Object 'The notes database
Dim view As Object 'The notes view

'Start a session to notes, and get notes view
Set ses = CreateObject("Notes.NotesSession")
Set db = ses.GETDATABASE("[Local]", "[d:\notes\ki_tky7.nsf]")

'ここまでは常道通りだと思っている。
Name = db.Filename 'Nameの値は"ki_tky7.nsf"でした。
flg = db.IsOpen 'flgの値はEmptyからFalseから変わりました。

If Not db.IsOpen Then
db.OPENMAIL 'flgの値はFalseから変わりませんでした。
End If

Set view = db.GetView("($Inbox)") 'この行で実行時エラー7063が出ます。
'エラーコメントは「データベース[Local]!![d:\notees\ki_tky7.nsf]はまだ開かれていません」です。
'Clean Up
Set doc = Nothing
Set db = Nothing
Set session = Nothing

End Sub

質問者からの補足コメント

  • HAPPY

    お教え頂いた様に、
    Set db = ses.GETDATABASE("[Local]", "[d:\notes\ki_tky7.nsf]")
    の部分を
    Set db = ses.GETDATABASE("", "d:\notes\ki_tky7.nsf")
    とすると、このset文の後にflgはTrueとなって問題は解消しました。
    ありがとうございます。感謝!

      補足日時:2017/10/06 16:18

A 回答 (1件)

18年も前の遠い記憶なのですが、


getDatabase の第一引数は空文字でよくなかったですかね。
Set db = ses.GETDATABASE("", "d:\notes\ki_tky7.nsf")

だからと言って目的が果たせるかどうかは不明ですが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!