Notes Maifile RichText 签名缩进
Notes Maifile RichText signature indentation
我的一位客户对可以在 9.0.1 IBM 邮件模板中定义的 Rich Text 签名的对齐感到恼火。
在这个用例中,我有一个双列单行 table,第一个单元格包含图像(徽标),第二个单元格包含通常的签名信息。
table 粘贴在备忘录表格中,缩进约 1/2 英寸。
我试过修改 table 页边距,但没有成功,并且尝试在“首选项”窗格中显示标尺也不起作用。
Karl-Henry Martinsson reports 使用 HTML 解决方案不会产生缩进(我可以确认这一点),但是嵌入的图像除了对外部源的 href 之外无法工作,显然。
我知道 Crossware 可以解决所有这些问题,但客户对第三方安装不感兴趣。
有什么建议吗?
我找到了解决上述问题的方法。
问题的核心是配置文档 (CalendarProfile) 上的源富文本字段 Signature_Rich 本身是 table 的一部分,因此继承了一些填充和边距信息用户无法修改。
我通过创建另一个配置文件表单来解决这个问题,我称之为 'CalendarProfile1',它只是一个带有名为 Signature_Rich.
的富文本字段的表单
然后我破解了 CoreEmailClasses_de-DE(您的本地化显然会有所不同),Sub InsertSignature:
script = |
Const msgTxt = "Diese Datei enthält einen oder mehrere Kontakte. Doppelklicken Sie in Notes auf den Anhang, " &_
"um die Daten zur Anwendung 'Kontakte' hinzuzufügen. In anderen Mail-Systemen müssen Sie die Datei möglicherweise "&_
"auf Ihrem Desktop speichern und anschließend in die Anwendung 'Kontakte' importieren."
Dim s As New NotesSession
Dim db As NotesDatabase
Dim profileDoc As NotesDocument
Dim wksp As New NotesUIWorkspace
Dim uiDoc As NotesUIDocument
Set db = s.CurrentDatabase
Set profileDoc = db.GetProfileDocument("CalendarProfile1")
Set uiDoc = wksp.CurrentDocument
If profileDoc.HasItem("Signature_Rich") Then
If uidoc.Document.HasItem("$VAttach") Then
Call uidoc.FieldSetText("body", msgTxt + Chr(10) + Chr(10))
End If
Call uiDoc.ImportItem(profileDoc, "Signature_Rich")
End If
|
注意 IBM 如何通过执行定义为文本的脚本并使用未记录的函数解决“如何将富文本字段附加到尚未保存的 UIDocument 中的另一个字段”的问题 NotesUIDocument.ImportField.
这是一个很大的 hack,而且很丑陋,但可能对任何有 'quick and dirty' 回复授权的人有用。
我的一位客户对可以在 9.0.1 IBM 邮件模板中定义的 Rich Text 签名的对齐感到恼火。
在这个用例中,我有一个双列单行 table,第一个单元格包含图像(徽标),第二个单元格包含通常的签名信息。
table 粘贴在备忘录表格中,缩进约 1/2 英寸。
我试过修改 table 页边距,但没有成功,并且尝试在“首选项”窗格中显示标尺也不起作用。
Karl-Henry Martinsson reports 使用 HTML 解决方案不会产生缩进(我可以确认这一点),但是嵌入的图像除了对外部源的 href 之外无法工作,显然。
我知道 Crossware 可以解决所有这些问题,但客户对第三方安装不感兴趣。
有什么建议吗?
我找到了解决上述问题的方法。
问题的核心是配置文档 (CalendarProfile) 上的源富文本字段 Signature_Rich 本身是 table 的一部分,因此继承了一些填充和边距信息用户无法修改。
我通过创建另一个配置文件表单来解决这个问题,我称之为 'CalendarProfile1',它只是一个带有名为 Signature_Rich.
的富文本字段的表单然后我破解了 CoreEmailClasses_de-DE(您的本地化显然会有所不同),Sub InsertSignature:
script = |
Const msgTxt = "Diese Datei enthält einen oder mehrere Kontakte. Doppelklicken Sie in Notes auf den Anhang, " &_
"um die Daten zur Anwendung 'Kontakte' hinzuzufügen. In anderen Mail-Systemen müssen Sie die Datei möglicherweise "&_
"auf Ihrem Desktop speichern und anschließend in die Anwendung 'Kontakte' importieren."
Dim s As New NotesSession
Dim db As NotesDatabase
Dim profileDoc As NotesDocument
Dim wksp As New NotesUIWorkspace
Dim uiDoc As NotesUIDocument
Set db = s.CurrentDatabase
Set profileDoc = db.GetProfileDocument("CalendarProfile1")
Set uiDoc = wksp.CurrentDocument
If profileDoc.HasItem("Signature_Rich") Then
If uidoc.Document.HasItem("$VAttach") Then
Call uidoc.FieldSetText("body", msgTxt + Chr(10) + Chr(10))
End If
Call uiDoc.ImportItem(profileDoc, "Signature_Rich")
End If
|
注意 IBM 如何通过执行定义为文本的脚本并使用未记录的函数解决“如何将富文本字段附加到尚未保存的 UIDocument 中的另一个字段”的问题 NotesUIDocument.ImportField.
这是一个很大的 hack,而且很丑陋,但可能对任何有 'quick and dirty' 回复授权的人有用。