回到doc.DXL中?

问题描述 投票:-1回答:1

我正在使用IBM Domino Designer 9.0,我遇到了DXL问题。如何在doc.DXL(我创建的)中返回行?我尝试使用\ n和<\ br>,但它不起作用。所以请一些帮助。

Code Button : 

Sub Click(Source As Button)
    Dim Stream As NotesStream
    Set Stream=Session.CreateStream
    f=Freefile
    fichier="d:\"+Masque.FieldGetText("nom")+".dxl"
    Open fichier For Output As #f
    Stream.Open(fichier)

    Call Stream.WriteText(|..............................>|)
.........................
    Call Stream.WriteText(|<datamodified>|)
    Call Stream.WriteText(|<datetime dst="true">|+Now+|</datetime>|)
    Call Stream.WriteText(|</datamodified>|)
    Call Stream.WriteText(|<designmodified>|)
    Call Stream.WriteText(|<datetime dst="true">|+Now+|</datetime>|)
    Call Stream.WriteText(|</designmodified>|)
    Call Stream.WriteText(|</databaseinfo>|)
    Call Stream.WriteText(|<form name="|+Masque.FieldGetText("nom")+|" nocompose="true" publicaccess="false" designerversion="8.5.3" recalc="true" renderpassthrough="true">|)
    ...........
Call Stream.WriteText(|<text>test</text>|)
    Call Stream.WriteText(|</item>|)
    Call Stream.WriteText(|</form>|)
    Call Stream.WriteText(|</database>|)
    Stream.Close

End Sub

输出:............................ 13/04/2019 14:52:56 13/04/2019 14:52: 56选项公共暗淡会话作为NotesSession Dim curDb作为NotesDatabase昏暗文档作为NotesDocument Dim vue作为NotesView Dim ws作为NotesUIWorkspace Dim Masque作为NotesUIDocument Sub初始化Set Session =新NotesSession Set curDb = Session.CurrentDatabase Set ws = New NotesUIWorkspace End Sub UI.FieldGetText (“titre”)Sub Postopen(Source As Notesuidocument)Set Masque = Source End Sub @Command([FileSave])FIELD saveoptions:=“0”; @Command([FileCloseWindow])@Command([FileSave])

lotus-domino lotusscript lotus lotus-formula readxl
1个回答
2
投票

首先:你在这里混合了两种写文件的技巧。你可以完全省略这些线条

f=Freefile
Open fichier For Output As #f

它们属于另一种带有打印命令的写入文件。这里不需要。

第二:你检查了documentation的WriteText吗?显然不是,因为那时你会找到第二个(可选)参数eol:

bytes&= notesStream .WriteText(text $,[eol&])

参数eol:Long类型的常量。附加到文本的行尾字符。默认值为EOL_NONE。 - EOL_CR(2)附加回车符(ASCII 13)。 - EOL_CRLF(0)附加回车符和换行符(ASCII 10 + 13)。 - EOL_LF(1)附加换行符(ASCII 10)。 - EOL_NONE(5)什么都不添加。默认。 - EOL_PLATFORM(3)遵循当前平台的约定。

所以你的代码的一行是:

Call Stream.WriteText(|<datamodified>|, EOL_PLATFORM)

要么

Call Stream.WriteText(|<datamodified>|, EOL_CRLF)

只需为每一行添加第二个参数。

© www.soinside.com 2019 - 2024. All rights reserved.