我的问题:我在c#代码中;我得到了笔记文件。我无法从文档中获取notesrichtextitem(direcly)。我现在才得到笔记。 因此,我需要直接获取notesrichtextitem,或者将notesitem转换为notesrichtextitem。
我想在RichText字段中添加新或添加更多附件。
以下是我如何向lotus文档添加附件的一些信息。它工作正常,但我仍然不喜欢这段代码。 请告诉我如何立即去做!??
我正在使用lotus中的notesrichtext项目,但是对于我的项目,我必须使用c#进行编码,并且连接到notesrichtextitem是一个大问题。 实际上,没有支持将对象从文档(lotus)获取到notesrichtextitem(c#中的对象)。 所以我找到了一个新的解决方案来超越莲花!^ __ ^ @!。
我在c#中编码。使用.net 2.0;使用Interop.Domino 1.2.0.0; VS 2010;
这是我的演示代码(它正在运行):
//start demo code
NotesItem rtf2 = dockey.GetFirstItem(RTfield.ToString());
if (rtf2 != null)
{
dockey.RemoveItem(RTfield.ToString());
}
// just 1 item is insert;
NotesRichTextItem rtf = dockey.CreateRichTextItem(RTfield.ToString());
rtf.EmbedObject(EMBED_TYPE.EMBED_ATTACHMENT, "", Dfilepath); // set attachment to richtextfield
dockey.Save(true, false);
//end demo code.
如您所见,步骤如下:
希望我的解决方案可以帮助任何人完成noterichtextitem。 我正在尝试更多地了解富文本字段。 如果有人有一个很好的解决方案,可以直接使用来自文档对象的notesrichtextitem工作,请告诉我。
答案 0 :(得分:0)
NotesRichTextItem
类继承自NotesItem
类。它具有NotesItems的所有属性和方法,另外还有一些RichText特定的属性和方法。
GetFirstItem()
返回NotesItem
个对象,如果是RichText项,则会自动返回NotesRichTextItem
个对象。这就是你可以写的原因:
NotesRichTextItem rtf = dockey.GetFirstItem(RTfield.ToString());
rtf.EmbedObject(EMBED_TYPE.EMBED_ATTACHMENT, "", Dfilepath); // set attachment to richtextfield
dockey.Save(true, false);
Interop.Domino通过COM使用Notes类。因此,Notes类应该在LotusScript中工作。您可能需要将GetFirstItem()的结果转换为(NotesRichTextItem)
。