我正在寻找一种方法来启动 Lotus Notes 并从 vb.net 项目控制其利用率。
通过控制,我的意思是获取窗口位置、关闭活动文档和其他内容。
但主要目标是开始一个会话。
我很困惑,因为我尝试使用 Lotus Notes Automation Classes dll,但没有任何效果......
如果有人对我有一些建议,我会非常感激!谢谢!(顺便说一句,抱歉英语不是我的主要语言)
我正在寻找一种方法来启动 Lotus Notes 并从 vb.net 项目控制其利用率。
通过控制,我的意思是获取窗口位置、关闭活动文档和其他内容。
但主要目标是开始一个会话。
我很困惑,因为我尝试使用 Lotus Notes Automation Classes dll,但没有任何效果......
如果有人对我有一些建议,我会非常感激!谢谢!(顺便说一句,抱歉英语不是我的主要语言)
在 Notes 中,会话是后端对象,而不是 UI 对象。您所描述的(更改窗口位置、关闭活动窗口等)是 UI 功能。
Notes 支持 COM,您可以完全访问所有后端类。但是您无权访问 UI 类。
为什么要自动化实际的 Notes 客户端?如果您描述了您最终想要做的事情,也许我们可以提供帮助。我确信解决您正在尝试做的事情的正确方法是使用后端类......
我找到了一种启动 Notes 的方法,我需要使用流程:
Private Sub StartNotes()
Dim p As Process = New Process()
p.StartInfo.FileName = "C:\Program Files\Notes\notes.exe"
p.StartInfo.Arguments = ""
p.Start()
End Sub
我在使用 lotus 和 domino dll 的后端类后将其自动化
Sub Send_Email_via_Lotus_Notes()
Dim Maildb As Object
Dim MailDoc As Object
Dim Body As Object
Dim Session As Object
'Start a session of Lotus Notes
Set Session = CreateObject("Lotus.NotesSession")
'This line prompts for password of current ID noted in Notes.INI
Call Session.Initialize
'or use below to provide password of the current ID (to avoid Password prompt)
'Call Session.Initialize("<password>")
'Open the Mail Database of your Lotus Notes
Set Maildb = Session.GETDATABASE("", "D:\Notes\data\Mail\eXceLiTems.nsf")
If Not Maildb.IsOpen = True Then Call Maildb.Open
'Create the Mail Document
Set MailDoc = Maildb.CREATEDOCUMENT
Call MailDoc.REPLACEITEMVALUE("Form", "Memo")
'Set the Recipient of the mail
Call MailDoc.REPLACEITEMVALUE("SendTo", "Ashish Jain")
'Set subject of the mail
Call MailDoc.REPLACEITEMVALUE("Subject", "Subject Text")
'Create and set the Body content of the mail
Set Body = MailDoc.CREATERICHTEXTITEM("Body")
Call Body.APPENDTEXT("Body text here")
'Example to create an attachment (optional)
Call Body.ADDNEWLINE(2)
Call Body.EMBEDOBJECT(1454, "", "C:\dummy.txt", "Attachment")
'Example to save the message (optional) in Sent items
MailDoc.SAVEMESSAGEONSEND = True
'Send the document
'Gets the mail to appear in the Sent items folder
Call MailDoc.REPLACEITEMVALUE("PostedDate", Now())
Call MailDoc.SEND(False)
'Clean Up the Object variables - Recover memory
Set Maildb = Nothing
Set MailDoc = Nothing
Set Body = Nothing
Set Session = Nothing
End Sub