我正在编写向用户发送邮件的代码.邮件文本包含日期.正确计算日期时,即使所有用户都使用德语Windows操作系统并在Notes首选项中将德语设置为其语言,日期也会以英语显示.这是我的代码:
Set dt = New NotesDateTime(doc.GetItemValue("abc")(0))
dts = Format$(dt.LSLocalTime, "dddd, dd. MMMM yyyy")
mailText = replaceSubstring(mailText, "Datum", dts, True)
Run Code Online (Sandbox Code Playgroud)
在邮件中,日期显示为,例如,
2015年12月9日星期三
什么时候应该出现
Mittwoch,09.Dezember 2015
用户单击Notes客户端中的按钮后执行代码.并非所有邮件都有此问题,但我无法在遇到此问题的用户的操作系统和Notes首选项设置中检测到任何错误.我怎样才能让这个日期以德语而不是英语出现?
我有很少的Lotus Script或Notes/Domino知识,但我有一个程序,很久以前从某个地方复制过,允许我通过VBA发送电子邮件.我通常只将此用于内部通知,其中格式化并不重要.
我现在想用它来发送外部电子邮件到客户端,公司类型宁愿电子邮件符合我们的风格指南(基本上是无衬线字体).
我打算告诉他们代码只能使用纯文本,但后来我注意到例程确实引用了某种CREATERICHTEXTITEM对象.这是否意味着我可以在将正文文本字符串传递给邮件例程后应用某种格式?除了坚持我们宝贵的品牌价值,这对于突出电子邮件中的某些段落对我来说非常方便.
我已经深入了解'网络,看看这个代码是否可以调整,但是不熟悉Notes的对象模型,以及在线Notes资源似乎反映了应用程序自身的迟钝,这意味着我没有得到很好的远.
代码:
Sub sendEmail(EmailSubject As String, EMailSendTo As String, EMailBody As String, MailServer as String)
Dim objNotesSession As Object
Dim objNotesMailFile As Object
Dim objNotesDocument As Object
Dim objNotesField As Object
Dim sendmail As Boolean
'added for integration into reporting tool
Dim dbString As String
dbString = "mail\" & Application.UserName & ".nsf"
On Error GoTo SendMailError
'Establish Connection to Notes
Set objNotesSession = CreateObject("Notes.NotesSession")
On Error Resume Next
'Establish Connection to Mail File
Set … 我有一个收到的电子邮件(mail-in db),其中包含一个RichTextField,其中找到了"some"附件.我也发现附件不是在RTF中,而是在文档中作为$ FILE.我试图处理所有对象,将它们复制到另一个外发电子邮件.我可以使用下面的代码找到$ FILE.
Dim rtiObject as NotesEmbeddedObject
Dim rti_Email as NotesRichTextItem
Dim obj_Email as NotesEmbeddedObject
ForAll p in mailDoc.items
if p.Name = "$FILE" then
set obj_Email = mailDoc.GetAttachment(p.Values(0)) 'this will return the Name of the attachment (or file)
set rtiObject = rti_Email.EmbedObject( EMBED_ATTACHMENT, "", obj_Email.Name) 'this is supposed to attach the file to the document's RTF
End If
End ForAll
Run Code Online (Sandbox Code Playgroud)
当这个脚本运行时,它找到$ FILE文件并返回名称而不是对象,我不能从那里做任何事情.
从原始文档中获取附件/对象($ FILE)并将其附加到外发电子邮件中的RTF,我需要做什么?
我考虑将附件分离到网络,然后将其附加到外发电子邮件,然后从网络中删除附件,但这似乎不切实际.
是否有更好的方法来处理传入电子邮件中的这些$ FILE类型的附件,这将使这更容易?
最有尊严的开发者,
我在从Lotus脚本代理调用我自己的java类中的方法时遇到问题.
我简化的Java类看起来像这样
import lotus.domino.*;
public class MyClass{
/* .. omitted constructor and other methods .. */
public void myMethod(Document doc){
/* ... do things with the document object ...*/
}
}
Run Code Online (Sandbox Code Playgroud)
现在这个类包含在正确的use语句中,我可以在lotus脚本中迭代class对象上的classmethods来获取所需参数的签名.
但是当我尝试调用该方法时,我得到了一个 LS2J: Parameter mismatch calling Method myMethod
我在JavaObject上尝试了点符号(不,我没有使用Mac;))和ADT
Dim doc as NotesDocument
Dim jSession As JavaSession
Dim jClass As JavaClass
Dim jObject As JavaObject
...
Set jSession = New JavaSession()
Set jClass = jSession.Getclass("MyClass")
Set jObject = jClass.Createobject()
Call jObject.myMethod(doc)
Run Code Online (Sandbox Code Playgroud)
和分别
Dim jMethod as JavaMethod
...
Set …Run Code Online (Sandbox Code Playgroud) 有没有人在Lotus Notes中编写客户端来使用RESTful Web服务?如果是这样,您使用的代码示例是什么?我不知道从哪里开始,因为目前网上似乎没有很多例子.
我的最终目标是有一定的LotusScript(或可替代Java或甚至@Formula),一个Notes客户端应用程序可用于执行常规的GET,POST,PUT和DELETE用一个RESTful Web服务调用.我将把结果存储在客户端计算机上的.xml文件中.
谢谢!
我想从LotusScript中的函数返回一个List.
例如.
Function myfunc() List As Variant
Dim mylist List As Variant
mylist("one") = 1
mylist("two") = "2"
myfunc = mylist
End Function
Dim mylist List As Variant
mylist = myfunc()
Run Code Online (Sandbox Code Playgroud)
这可能吗?
如果是这样,那么正确的语法是什么?
我需要从Lotus Formula调用Lotus脚本函数.
该函数返回一个结果.我不只是想运行一个不返回任何值的脚本.
这适用于Lotus Notes 7.
例
LotusScript函数:
Function isName( name As String) as Boolean
if name Is "Danny" Then
isName = true
endif
isName = false
End function
Run Code Online (Sandbox Code Playgroud)
LotusFormula
name := getName("troy")???????
Run Code Online (Sandbox Code Playgroud)
因此,我可以在莲花公式中使用该名称.
这可能吗?
我有一个以Web用户身份运行的lotus-script代理,因为我需要知道当前用户是谁并相应地处理信息.问题是,在此代理中发送电子邮件时,"发件人"电子邮件地址显示的是Web用户电子邮件地址,而不是我已定义的电子邮件地址.我在发送电子邮件之前设置了以下字段(作为mime):
mailDoc.Form = "Memo"
mailDoc.Subject = strSubject
mailDoc.InetSendTo = strFrom
mailDoc.PostedDate = Now
mailDoc.Principal = strFrom
mailDoc.FROM = strFrom
mailDoc.INETFROM = strFrom
mailDoc.~INetPrincipal = strFrom
mailDoc.ReplyTo = strFrom
mailDoc.SendFrom = strFrom
mailDoc.SentBy = strFrom
mailDoc.altFrom = strFrom
mailDoc.tmpDisplaySentBy = strFrom
mailDoc.DisplaySent = strFrom
mailDoc.ToShow = strFrom
mailDoc.SendTo = strSendTo
Run Code Online (Sandbox Code Playgroud)
但是From地址仍然显示为Web用户的地址.我在这里错过了什么?任何帮助将非常感激.
这是一个相当普遍的问题,但我会尽量精确:
很多时候我会被客户要求正确实现LotusScript
continue = false
Run Code Online (Sandbox Code Playgroud)
在Notes的Query*事件中.一个很常见的情况是表单的QueryOpen事件,我们实际上可以根据某些条件停止打开相关文档的过程,例如基于用户对话框的响应.
对于像querySaveDocument这样的一些Xpages事件,有非常明显的解决方案,而对于其他事件我只能建议重新思考整个逻辑,比如在更早的阶段阻止代码执行.但当然大多数人都更喜欢像"使用......重写这些代码"这样的通用方法.并且 - 说实话 - 我想知道自己;)
我或多或少熟悉Xpages/JSF生命周期,但不得不承认我没有正确的想法如何在任何给定阶段停止执行.一如既往,任何提示都是受欢迎的.
编辑(澄清我的问题,但也回应蒂姆的答案):
它不仅仅是QuerySave,而且还有QueryModeChange和QueryRecalc以某种方式需要与一个在线应用程序的逻辑一起转换,但在Xpages逻辑中没有它们的等价物.这两个概念(基于表单和基于xpages)在这一点上有太大的不同吗?
例如,考虑一个工作流应用程序,我们需要在允许在编辑模式下为潜在作者打开现有文档之前检查某些条件.在我的Notes客户端应用程序中,我将一些代码添加到2个事件,即QueryOpen,我在其中检查" mode "arg和第二个QueryModeChange,在那里我检查当前的doc模式.在这两种情况下continue = false,如果需要,我可以通过添加my来阻止编辑文档.根据事件,文档将不会更改其模式,或者根本不会打开.
使用Xpage我可以使用按钮来更改文档的编辑模式,我可以"隐藏"这些按钮,或者只是添加一些检查代码或其他.但17年的Domino咨询至少给我上了一课:总会有用户找到隐藏的方法来实现他们的目标.在我们的案例中,他们可能会发现对页面URL的简单修改最终将允许他们编辑文档.为了防止这种情况,我可以使用" beforeRenderResponse "事件,我假设.但是之后,在其他情况下也会调用beforeRenderResponse,因此我们必须首先调查当前的情况.或者我可以确保用户没有作者权限,除非情况允许.
同样,这不是一个大问题,但是当从传统Notes应用程序进行转换时,这意味着重新思考其整个逻辑.这使得这项工作更加明显,而且更加昂贵.
真正?或者我错过了这个概念的一些关键部分?
我正在进行数据迁移任务,我必须将一个稍大的Lotus Notes应用程序导出到博客平台.我的第一个任务是将Lotus Notes中的文章导出为CSV文件.
我在LotusScript中创建了一个代理,将数据导出为CSV文件.我使用此IBM DeveloperWorks论坛帖子的修改版本.它基本上完成了这项工作.但Rich Text字段的内容将被删除任何格式.这不是我想要的,我希望Rich Text字段呈现为HTML.
GetItemValue方法的文档明确声明文本呈现为纯文本.所以我开始研究能够检索HTML的东西.我在IBM文章如何使用LotusScript访问富文本字段中找到了NotesMIMEEntity类和一些示例代码.
但是,对于上述文章中描述的技术,富文本字段需要具有"将内容存储为HTML和MIME"属性.我的Lotus Notes数据库不是这种情况.我试图在有问题的字段上设置属性,但它没有做到这一点.
是否可以使用NotesMIMEEntity并在添加内容后设置"将内容存储为HTML和MIME"属性,以导出呈现为HTML的字段?
或者我将Notes数据库Rich Text字段导出为HTML的选项有哪些?
额外信息:我使用的是IBM Lotus Domino Designer 8.5版
lotusscript ×10
lotus-notes ×8
lotus-domino ×5
richtext ×2
attachment ×1
excel-vba ×1
export ×1
java ×1
ls2j ×1
rest ×1
return-value ×1
vba ×1
web-services ×1
xpages ×1
xpages-ssjs ×1