2010-09-30 68 views
0

我的客户端正在使用Lotus Notes 8.0.2。 我尝试使用下面的VBScript调用API的注意事项,以发送电子邮件:Lotus Notes API加载DLL时出错

dim objNotesSession, objNotesDatabase, objNotesItem, objNotesRichTextItem 

set objNotesSession = CreateObject("Lotus.NotesSession") 
Call objNotesSession.Initialize("[password here]") 
set objNotesDatabase = objNotesSession.GETDATABASE("[server here]", "[path to NSF here]") 
set objNotesDocument = objNotesDatabase.CreateDocument 
set objNotesItem = objNotesDocument.ReplaceItemValue("Form", "Memo") 
set objNotesItem = objNotesDocument.ReplaceItemValue("Subject", "My Test Subject") 
set objNotesRichTextItem = objNotesDocument.CreateRichTextItem("Body") 
objNotesRichTextItem.AppendText "This is the body" 
objNotesRichTextItem.EmbedObject 1454, "", "[path to attachment here]" 
objNotesDocument.Send False, "[to address here]" 

[cleanup code here] 

就行了呼叫objNotesSession.Initialize我得到以下错误:“加载DLL时出错:初始化”

如果我注释掉该行,执行线“设置objNotesDatabase = objNotesSession.GETDATABASE”,然后我得到的错误“加载DLL时出错:GETDATABASE”

请谁能告诉我这是为什么发生,我所能要解决它吗?

谢谢, 肖恩。

回答

0

是的,事实证明有一个Notes补丁应用于开发环境(所有工作都在这个环境中),而这个补丁并没有应用到实时环境中。

1

Initialize方法是您登录并真正启动Notes会话的地方。因此,如果您注释掉该行,则您并没有真正连接到Notes,因此无法获取数据库的句柄。

所以回到初始化部分...我首先要确保在Notes客户机安装中一切正常。您应该能够打开Notes,登录并访问您打算使用的数据库。确保Notes目录和Data目录位于PATH环境变量中。确保您有足够的权限来使用Notes目录(也许授予Everyone完全访问权限以排除问题)。

最糟糕的情况是,尝试重新安装Notes或尝试在Notes完美工作的另一台机器上运行脚本。

+0

谢谢你。令人困惑的是Lotus Notes客户端在同一台机器上100%工作。我将检查PATH环境变量并让你知道。 – 2010-09-30 14:00:08

+0

它绝对听起来像你的VBScript应用程序无法找到的注释DLL。 – 2010-10-01 02:00:35

+0

好的埃德,但你有什么想法,为什么会这样,我如何解决? – 2010-10-01 03:09:14