月額480円〜の高速レンタルサーバー ColorfulBox
[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:01917] ole automation エラーについて



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>

Index Home