[xyzzy:01917] ole automation エラーについて
- Subject: [xyzzy:01917] ole automation エラーについて
- From: "Hiroyasu Ohasi" <hohasi@xxxxxxxxxxxxxxxx>
- X-mailer: Microsoft Outlook Express 4.72.3110.5
xyzzy-MLのみなさん、こんにちわ。大橋です。
OLEのことばっかりで恐縮です。
xyzzyからole automationでNotesR4.6xにアクセスすると、「OLEオートメーションエラー」が発
生します。
xyzzyだけでなく、VBからでもAccessからでも、OLEオートメーション経由でアクセス
すると、もれなくエラーになるようです。下記は、VBからアクセスした場合のエラー
です。(一番メッセージが詳細だったので)しかも、エラーになるだけでなく、ノーツ
クライアントがフリーズしてしまいます。
; 実行時エラー '-2147417851 (80010105)':
; オートメーション エラーです。
; サーバーは例外を送信しました。
ただし、NotesクライアントをR4.5xにするか、事前にNotesクライントを起動して
ノーツサーバーの認証を受けておけば、問題なくアクセスできます。または、アクセ
ス制御のかかっていないローカルデータベースでもOKです。
通常Notesサーバーにアクセスすると認証用のダイアログが表示されるのですが、
R4.5のOLE AUTOMATIONではそれが表示されないので、認証を受けずにノーツデータ
ベースにアクセスしにいくことになり、このようなエラーが発生するようです。
こんなことは、ノーツのMLで話すべきだとは思いましたが、ノーツのMLでも同内容の
メールが2通投稿されていて、レスがつかない状態でした。考えてみれば、R4.6xに
なってから、OLE AUTOMATIONでNotesにアクセスしたことはありませんでした。逆
に、ノーツからはOLE AUTOMATIONでExcelにアクセスすることは可能です。
参考までに、以下がテストしたソースです。何か気づかれたことがあったら教えて下
さい。
場違いな質問で申し訳ありませんでした。
; Notesサーバー msv02 のノーツDB doclib.nsfに、Subjectだけの新規文書を追加す
る。
(let ((objSession)(objDb)(objView)(objDoc))
(setq objSession (ole-create-object "Notes.NotesSession"))
(setq objDb (ole-method objSession 'GetDatabase "msv02" "doclib.nsf"))
(setq objView (ole-method objDb 'GetView "($All)"))
(setq objDoc (ole-method objDb 'CreateDocument))
(ole-putprop objDoc 'Subject "OLEのテストについて")
(ole-method objDoc 'save nil nil))
大橋 弘靖 <hohasi@xxxxxxxxxxxxxxxx>