一、基础知识:

1、常用ASCII码知识:

chr(9)、chr(10)、chr(13)、chr(32)、chr(34)
所有关于 ASCII码的表格:[url]http://www.asciitable.com/

chr(13) 是一个回车
Chr(10) 是个换行符
chr(32) 是一个空格符
9/34 是tab,未确定?

2、lotus notes中的rtf域

GetFormattedText(tabstrip, lineLength% )

eg:GetFormattedText(false,0),对rtf域值中的tab不进行处理,并且默认80个字符换行。

我们常用如下代码的方式来读取rtf域的值

Dim doc As NotesDocument
Dim rtitem As Variant
Dim plainText As String
Dim fileNum As Integer
'...set value of doc...
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
  plainText = rtitem.GetFormattedText( False, 0 )
End If

二、遇到的问题

今天在读取rtf域的值,并通过js代码读取到excel中的时候报错:“未结束的字符串常量”。

相关代理中的代码如下:

Print |<script language="Javascript">|
    Print |alert("|+doc.rtfDecription+|");|
    Print |</script>|

其中rtfDecription 为rtf域。

当此域中的值为简单的文本(eg,123,dsa)时,不存在这种问题。当域值包含换行等字符的时候,就会报错“未结束的字符串常量”。

三、处理办法

以下示例代码针对相关字符(回车和换行)进行处理。

Sub Initialize
    On Error Goto errHandler
    Dim s As NotesSession
    Dim doc As NotesDocument
    Set s = New NotesSession
    Set doc = s.DocumentContext
    Dim rtitem As Variant
    Dim plainText As String
    Dim vTextArea As Variant
    Set rtitem=doc.GetFirstItem("wahaha")
    If ( rtitem.Type = RICHTEXT ) Then
        plainText = rtitem.GetFormattedText( False, 0 )
    End If
    Dim strTemp As String
    If (Instr(plainText,Chr(13))>0) Then
        vTextArea = Split(plainText,Chr(13))
        strTemp =""
        strTemp = Join(vTextArea," ")
    End If       
    If (Instr(strTemp,Chr(10))>0) Then
        vTextArea = Split(strTemp,Chr(10))
        strTemp =""
        strTemp = Join(vTextArea," ")
    End If       
    'Method 2
    'vTextArea = Evaluate(|@ReplaceSubstring(@Text(wahaha);@NewLine;" ")|,doc)
    'Msgbox vTextArea(0)
    Print |<script language="Javascript">|
    Print |alert("|+strTemp+|");|
    Print |</script>|
    Exit Sub
errHandler:
    Msgbox Error & Error$ & Cstr(Erl)
    Exit Sub
End Sub

输入值:abc

def

afs

输出值:abc def afs

四、总结

前台代码(js代码)和后台代码(LotusScript、java)尽量分开写。

关于js读取rtf域的问题相关推荐

  1. 前端使用js读取文件

    前端使用js读取文件 首先我们定义一个input标签type="file" <input type="file" οnchange="jsRea ...

  2. 静态html文件js读取url参数

    在ajax应用流行时,有时我们可能为了降低服务器的负担,把动态内容生成静态html页面或者是xml文件,供客户端访问!但是在我们的网站或系统中往住页面中某些部分是在后台没有进行修改时,其内容不会发生变 ...

  3. linux下用js生成xml文件,使用JS读取XML文件的方法

    由于项目上需要解析xml,于是各种百度,然后自己总结了下各个主流浏览器解析xml的方法,只能是很浅显的知道他的用法,但是还没有深层次的研究. 不同的浏览器对xml的解析方式不同,根据目前主流浏览器大致 ...

  4. js 读取php页面内容,js读取html文件 js获取html页面显示内容

    CSS布局HTML小编今天和大家分享HTML或者JS读取TXT文件内容的代码 如题,CSS布局HTML小编今天和大家分享HTML或者JS读取TXT文件内容的代码 JS读取TXT文件内容的代码如下: 读 ...

  5. js读取解析JSON类型数据【申明:来源于网络】

    js读取解析JSON类型数据[申明:来源于网络] 地址:http://blog.csdn.net/sunhuaqiang1/article/details/47026841 转载于:https://w ...

  6. php解析api xml并输出到html页面,怎样操作JS读取xml内容并输出到div内

    这次给大家带来怎样操作JS读取xml内容并输出到div内,操作JS读取xml内容并输出到div内的注意事项有哪些,下面就是实战案例,一起来看一下. note.xml文件结构: George John ...

  7. JS读取JSON数据

    实例 <script type="text/javascript" language="javascript">var languages = {c ...

  8. js读取服务器txt文件,ZK中使用JS读取客户端txt文件内容问题

    最近写一个需求时遇到一个问题,用户需要通过点击一个按钮直接读取他自己电脑上D盘的一个txt文件内容显示到页面,因为项目现在是用ZK写的.我对于ZK也是刚刚了解不就,很多都还不是很熟.起初我是想用io流 ...

  9. html表格中绑定显示xml文档内容的简单实例,JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)...

    本文实例讲述了JS读取XML文件数据并以table形式显示数据的方法.分享给大家供大家参考,具体如下: 先看xml文件: 张秋丽 女 18 李文才 男 31 李斯文 男 22 马英 女 25 孙红雷 ...

最新文章

  1. arraylist从大到小排序_初学Python最简易入门之十四排序算法10对字典排序
  2. UDT协议实现分析——UDT初始化和销毁
  3. 一个情怀引发的生产事故(续)
  4. MySQL的timestamp字段可以使用的范围是多少
  5. 手把手教程:用Python开发一个自然语言处理模型,并用Flask进行部署
  6. Java入门到月入2W+ IT各种技术教学资料分享
  7. 发起图片请求的几种可能性(webkit内核)
  8. MySQL-Cluster7.2.5安装和配置
  9. Linux系统基础开发应用及Linux-C用户手册
  10. [转]写一个块设备驱动(第七章)
  11. 个性化头像生成——微信小程序开发
  12. oracle快速为所有表新增字段
  13. FineBI01:FineBI介绍
  14. ImageUndistorted_Disparity
  15. RocketMQ——顺序消息
  16. fstream —文件读写操作
  17. 修改RabbitMQ密码
  18. 重症医学数据库MIMIC-IV简介
  19. caffe检测图片是否包含人脸_人脸识别(基于Caffe)
  20. 关于捷联惯导解算的理解笔记

热门文章

  1. Innodb中MySQL如何快速删除2T的大表
  2. eclipse中Preferences的一些设置
  3. hadoop常见错误即解决方法
  4. IIS日志分析方法及工具
  5. Linux下的Vsftpd配置篇
  6. Windows 2003 系统管理 视频教程 http://www.91xueit.comm 下载
  7. 丢失api-ms-win-crt-runtime-l1-1-0.dll问题解决
  8. can not open file Permission denied at securecrt_linux_crack.pl line 57
  9. 在package-lock.json中指定node-mass版本+独立编译flink中的flink-runtime-web模块
  10. 使用hive中beeline引擎来访问hive数据库