壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6051|回复: 57

[Domino C/S开发] 发一些基础贴.说不定对你有益!

[复制链接]
发表于 2003/3/21 12:36:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
Lotus Notes 公式函数集(a-n)

@Abs 返回一个数字的绝对值(无符号值)。
@Abstract 英文缩写,中文无效
@Accessed 指出最后一次访问(即读取或编辑)该文档的时间和日期。  
@Acos 使用角度的余弦,计算反余弦。
@AddToFolder* 将选定的文档移动到另一个文件夹中
@Adjust 调整指定的时间-日期值。调整的值可正可负。
@All 返回值“True”。
@AllChildren 包含父文档的所有满足选择标准的“答复”文档。
@AllDescendants 包含所有满足选择标准的父文档的答复文档以及答复的答复文档。
@Ascii 将一个LMBCS(Lotus 多字节字符集)字符串转换成一个ASCII字符串。  
@Asin 使用角度的正弦,计算反正弦。
@Atan 使用角度的正切,计算反正切。
@Atan2 使用角度的 y/x 正切,计算反正切。
@AttachmentLengths 返回表示当前文档中各个附件长度的数字或数字列表。返回的数字只是近似值;与附件的实际大小可能稍有差距。
@AttachmentNames 返回附加到文档中的文件的操作系统文件名。如果附加了多个文件,则返回一个多值文本列表。
@Attachments 返回附加到文档中的文件数目。
@Author 返回包含文档姓名的文本列表。  

B

@Begins 确定一个指定的子串是否保存在另一个字符串的开头。
@BrowserInfo* 返回浏览器类型

C

@Certificate 确定一个指定的子串是否保存在另一个字符串的开头。
@Char 将 IBM Code Page 850 的代码编号转换成对应的字符串。
@CheckAlarms 触发闹铃守护程序检查邮件文件中是否有新的闹铃信息。
@ClientType 返回文本字符串以从 Web 客户机中区分 Notes 客户机。  
@Command 执行一个 Notes 命令。
@Contains 确定某个子串是否包含在一个字符串中。
@Cos 余弦函数。
@Created 返回创建此文档时的时间-日期值。

D

@Date 将数字转换成时间和日期的不同部分;然后返回时间-日期值。
@Day 从指定日期值中提取天的部分。 
@DbColumn (Notes) 从 Notes 数据库的视图或文件夹里查找并返回一个完整的列值。
@DbColumn (ODBC) 使用数据源信息激来激活 ODBC 驱动程序。
@DbCommand (ODBC) 利用ODBC.INI 文件中的数据源信息来激活 ODBC 驱动器。
@DbExists 给定一个服务器和文件名,或复本标识符,查明该数据库是否存在。
@DbLookup (Notes) 给定一个值,在一个指定的视图(或文件夹)里查找视图里的第一个排序列里包含该值的所有文档。
@DbLookup (ODBC) 使用 ODBC.INI 文件里的数据源信息激活恰当的 ODBC 驱动器。
@DbManager 返回当前对数据库有“管理者”权限的用户、群组和服务器的列表。
@DbName 返回当前 Notes 服务器和数据库的名称。  
@DbTitle 返回当前数据库的标题。
@DDEExecute 将指定的命令串传递给由一个对话标识符标识的 DDE 应用程序
@DDEInitiate 初始化与 DDE 服务器的一个对话,并返回该对话的标识符。  
@DDEPoke 将未申请的数据存储到 DDE 服务器应用程序中的特定位置。
@DDETerminate 中止与 DDE 应用程序的对话。
DEFAULT 为域指定值。
@DeleteDocument 在代理中运行时此函数时,删除正在被处理的文档。  
@DeleteField 在代理中运行该函数,@DeleteField 将删除指定的域。
@DialogBox 弹出一个对话框,用指定的表单显示当前的文档。
@Do 从左到右计算表达式,并返回列表中最后一个表达式的值。
@DocChildren 用在列公式或窗口标题公式中,返回当前文档(或分类)下的子文档(或子分类)的个数。
@DocDescendants 在一个列公式或窗口标题公式中返回属于当前文档或分类的子文档或子分类的数目。
@DocFields 返回文档中所有域的列表。
@DocLength 返回文档的字节数。
@DocLevel 返回表示文档或分类级别的字符串。
@DocMark 在运行公式的代理中,表明您是否想保存对文档的改变。
@DocNumber 在列公式或窗口标题公式中,返回一个代表当前文档或分类的项目编号的字符串。
@DocParentNumber 在一个列公式或窗口标题公式中,返回一个字符串,它表示一个视图项目的上一层项目的编号。
@DocSiblings 在列公式或窗口标题公式中,返回一个字符串,它表示与某个视图项目(文档或分类)处于同一级的项目的个数。
@DocumentUniqueID 在数据库的多个复本中用来唯一标识某个文档。
@Domain 返回 NOTES.INI文件里当前用户的 Notes 网络域名。

E

@EditECL 为指定的通讯录和名称显示“工作站安全性:执行控制列表”对话框。
@EditUserECL 为指定的通讯录和名称显示“工作站安全性:执行控制列表”对话框。
@Elements 计算列表中文本、数字、时间-日期的个数。
@EnableAlarms 启动或停止后台警告守护进程。
@Ends 确定子串是否在字符串的后面。
ENVIRONMENT 设置环境变量并存储在用户的 NOTES.INI 文件里。
@Environment 设置或返回存储在用户 NOTES.INI 文件中的环境变量。  
@Error 允许您在表达式中产生错误条件。
@Exp 计算以 e 为幂,以指定的数为指数的值。  
@Explode 返回由文本串或日期范围中的元素所组成的文本列表。  

F

@Failure 当用于输入确认校验时,若输入的数值不符合校验条件,@Failure 将显示您给出的消息。
@False 返回数字 0。
FIELD 改变已有域的内容或创建新的域。
@Fontlist* 列本地机器的所有字体

G

@GetDocField 给定唯一的文档标识符,返回文档中某个域的内容。
@GetPortsList 返回激活或禁止的端口的列表。
@GetProfileField 从简要表文档中获得域,并缓存这个域的值,以备会话使用。

H

@Hour 返回时间-日期中的小时部分。

I

@If 根据条件执行操作
@Implode 连接文本列表中的成员,并返回文本字符串。
@InheritedDocumentUniqueID 当前文档继承的父文档的唯一标识符。
@Integer 将数字或数字列表截断成一个整数,去掉其小数部分。
@IsAgentEnabled 判定定时运行的代理是否有效。
@IsAvailable 查找文档中是否存在某个域。  
@IsCategory 在列公式中,如果视图中某一行为一个分类,则返回指定的字符串。  
@IsDocBeingEdited 检查文档的当前状态,如果文档正在被编辑,则返回 1 (True);否则返回 0 (False)。
@IsDocBeingLoaded 查看文档的当前状态,如果文档正被装入内存并显示,则返回 1 (True);否则返回 0 (False)。  
@IsDocBeingMailed 检查文档的当前状态,如果文档正在被邮寄,则返回 1 (True);否则返回 0 (False)。  
@IsDocBeingRecalculated 检查文档的当前状态,如果文档中的公式正在被计算,则返回 1 (True);否则返回 0 (False)。  
@IsDocBeingSaved 检查文档的当前状态。如果正在保存文档,则返回 1 (True);否则返回 0 (False)。  
@IsDocTruncated 说明当前文档是否被截短过。
@IsError 如果数值是一个 @ERROR 值,则返回 1 (True),否则,返回 0 (False)。  
@IsExpandable 在列公式中,如果视图中的某一行是可展开的,则返回某个特定的字符串。  
@IsMember 指出一段文本(或文本列表)是否包含在另外一个文本列表中。
@IsModalHelp 说明当前文档是否为一个模态帮助文档。
@IsNewDoc 对于一个正在编辑的文档,指出该文档是否已经存盘。
@IsNotMember 判断一段文本(或文本列表)是否不包含在另一个文本列表中。
@IsNumber 判断某个值是否为一个数字(或数字列表)。  
@IsResponseDoc 判断某个文档是否为答复文档。  
@IsText 判断某个值是否为文本(或文本列表)。
@IsTime 判断一个值是否为时间-日期值(或时间-日期列表)。
@IsUnavailable 判断域名是否存在于文档里。
@IsValid 在当前表单执行所有检验公式。

K

@Keywords 给定两个文本列表,返回第一个列表和第二个列表之间重叠的部分。  

L

@LanguagePreference* 返回语言设置
@Left 从左到右搜索字符串,并返回字符串中最左边的几个字符。
@LeftBack 从右至左搜索字符串并返回子串。
@Length 返回文本字符串中字符的个数。
@Like 将字符串和样本串进行匹配。
@Ln 返回一个自然对数。
@Locale* 返回语言名称
@Log 返回大于 0 的数的常用对数(以 10 为底)。  
@LowerCase 将指定字符串里的大写字母转换成小写。

M

@MailDbName 返回 Domino 服务器的名称和当前用户的邮件数据库的名称。
@MailEncryptSavedPreference 判断用户是否在“用户惯用选项”对话框选择了“加密保存的邮件”。
@MailEncryptSentPreference 判断用户是否在“用户惯用选项”对话框中选择了“加密发送邮件”。
@MailSavePreference 判断用户在“用户惯用选项”对话框中,选择了“保存发送的邮件” 中的哪个选项。
@MailSend 将当前文档邮寄
@MailSignPreference 判断用户是否选择了“用户惯用选项”对话框的“签发邮件”。
@Matches 用一个样本字符串去匹配一个字符串。
@Max 给出两个数字,返回较大的那个数字。
@Member 给定一个值,在文本列表中找到该值的位置。
@Middle 从一个字符串的中间部分返回一个子串。从左向右扫描,
@MiddleBack 从一个字符串中间部分返回一个子串。从右向左扫描,
@Min 给定两个数字,返回较小的那一个。
@Minute 从时间-日期中提取分钟数值。
@Modified 表示文档最近一次编辑和保存的时间。  
@Modulo 返回除法操作的余数。  
@Month 从指定的时间-日期中提取月份值。

Lotus Notes 公式函数集(o-z)

O

@OptimizeMailAddress 给定一个邮件地址,删除其中不必要的网络域。

P

@Password 密码字符串。
@Pi 返回常量 p,精确到 15 个小数位。
@PickList 显示一个模态窗口,包括视图、地址等
@Platform 返回当前 Notes 运行的平台版本。
@PostedCommand 执行一条 Notes 命令。
@Power 求一个数的幂值。
@Prompt 显示一个对话框,并根据用户的操作返回一个文本值。
@ProperCase 将字符串中的单词转换成字首大写的形式:每个单词的头一个字母大写,后面的其他字母小写。  

R

@Random 产生一个 0 和 1 之间的随机数,包含 0 和 1。
@RefreshECL 从指定的通讯录和名称中,将管理执行控制列表拷贝到用户的个人工作站 ECL 中。
REM REM 关键字允许您给公式增加解释性的注释。
@Repeat 以指定的次数重复某字符串。
@Replace 在文本列表中执行查找/替换操作。
@ReplaceSubstring 用指定的新单词或新短语代替字符串中的某个单词或短语。区分大小写。
@Responses 返回文档的答复文档的(在当前视图中)个数。
@Return 立即停止公式的执行并返回指定的值
@Right 返回字符串最右边的字符。
@RightBack 返回字符串中最右边的字符。
@Round 四舍五入求整

S

@Second 从指定的时间-日期中,提取并返回秒值。
SELECT 定义文档的选择条件。
@Select 返回列表中某个位置编号上的值。
@Set 为临时变量赋值。
@SetDocField 给定一个文档的唯一标识符,设置此文档中的某个域的值。
@SetEnvironment 在用户的 NOTES.INI 文件中,设置并保存一个环境变量。
@SetField 为文档中的某个域赋值。  
@SetProfileField 在简要表文件中设置域值。
@SetTargetFrame* 设置目标框架
@Sign 判定一个数是正数、负数还是零。
@Sin 给定一个用弧度表示的角度,返回该角度的正弦值。
@Soundex 返回某指定字符串的 Soundex 码
@Sqrt 返回一个数字的正平方根。
@Subset 从左到右搜索一个列,并返回您所指定数量的值。
@Success 返回 1(真)。
@Sum 在一组数字或数字列表中进行加法运算。

T

@Tan 给定某个角度的弧度值,返回该角度的正切值。
@Text 将任意值转换成文本字符串。  
@TextToNumber 在可能的情况下,将文本字符串转换成数字。
@TextToTime 将文本字符串转换为时间-日期值。
@Time 将时间和日期的组成部分转换成数字;然后返回时间-日期值。
@Today 返回当天的日期。
@Tomorrow 返回明天日期的时间-日期值。
@Trim 从文本字符串中(或文本列表的每一个元素中)删除位于开头和结尾的空格。
@True 返回数字 1。该函数等效于 @Yes。

U

@Unavailable 使用本函数删除某个域。  
@UndeleteDocument  
@Unique 不带参数时,返回一个随机的、唯一的文本值。
带有参数时,则删除列表中有重复的元素。
@UpperCase 将指定字符串里的小写字母转换为大写。
@URLGetHeader 从 URL 中返回指定的超文本传输协议 (HTTP) 的标题信息。
@URLHistory 用于查找、保存和重新加载一个 URL 历史记录。
@URLOpen 提取一个由 URL 指定的 W.W.W 页面。
@UserAccess 给定一个服务器和文件名,指出当前用户对这个数据库的存取级别。
@UserName 返回当前的用户名或服务器名。  
@UserNameLanguage 返回代表当前用户权限的文本列表。
@UserNamesList  
@UserPrivileges  
@UserRoles 返回当前用户具有的角色的列表。

V

@V2If 这个函数执行一个 @If 操作;其语法和 @If 的语法一样。
@V3UserName 返回当前用户名或服务器名。
@ValidateInternetAddress  
@Version 返回您正在运行的 Notes 软件的版本号。
@ViewTitle 返回当前视图的名称。

W

@Weekday 算出一周中的某一天,返回一个表示这一天的数字。
@Wide  
@Word 从一个文本字符串里返回指定的单词。

Y

@Year 从指定的时间-日期值中提取年份。  
@Yes 返回值 1。
@Yesterday 返回与昨天日期相对应的时间-日期值。

Z

@Zone 返回当前计算机或时间-日期值的时区设置,并指出它是否遵循夏时制。
 楼主| 发表于 2003/3/21 12:40:30 | 显示全部楼层
1.notes--->excel:++++++++++++++++++++++

Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As Notesview
Dim doc As NotesDocument
Dim excelapplication As Variant
Dim excelworkbook As Variant
Dim excelsheet As Variant
Dim i As Integer
Dim uvcols As Integer
Dim selection As Variant
'path=session.GetEnvironmentString ("D:",True)
'gzpath=path+"\"+"test.xls"
Set excelapplication=CreateObject("Excel.Application")
excelapplication.statusbar="正在创建工作表,请稍等....."
excelapplication.Visible=True
'==================
'excelapplication.excel.open(gzpath)
excelapplication.Workbooks.Add
excelapplication.referencestyle=2
Set excelsheet=excelapplication.Workbooks(1).worksheets(1)
excelsheet.name="notes export"
Dim rows As Integer
Dim cols As Integer
Dim maxcols As Integer
Dim fieldname As String
Dim fitem As NotesItem
rows=1
cols=1
Set db=session.CurrentDatabase
Set view=db.GetView ("注册表视图")
uvcols=Ubound(view.Columns)
For x=0 To Ubound(view.Columns)
excelapplication.statusbar="正在创建单元格,请稍等....."
If view.Columns(x).IsHidden=False Then
If view.Columns(x).title<>"" Then
'excelsheet.Cells(1,1).Value="姓名"
'excelsheet.Cells(1,2).Value="年龄"
excelsheet.Cells(rows,cols).Value=view.Columns(x).Title
cols=cols+1
End If
End If
Next
maxcols=cols-1
Set doc=view.GetFirstDocument
rows=2
cols=1
While Not(doc Is Nothing)
For x=0 To Ubound(view.Columns)
excelapplication.statusbar="正在从Notes中引入数据,请稍等....."
If view.Columns(x).IsHidden=False Then
If view.Columns(x).title<>"" Then
fieldname=view.Columns(x).itemname
Set fitem=doc.GetFirstItem(fieldname)
excelsheet.Cells(rows,cols).Value=fitem.Text
cols=cols+1
End If
End If
Next
rows=rows+1
cols=1
Set doc=view.GetNextDocument (doc)
Wend
With excelapplication.worksheets(1)
.pagesetup.orientation=2
.pagesetup.centerheader="report_confidential"
.pagesetup.rightfooter="page &P"&Chr$(13) &"Date:&D"
.pagesetup.CenterFooter=""
End With
excelapplication.referencestyle=1
excelapplication.range("A1").Select
excelapplication.statusbar="数据导入完成。"
excelsheet.PageSetup.PrintGridlines=True
'excelworkbook.printout
'excelworkbook.SaveAs("d:\test.xls")
'excelworkbook.Save
excelapplication.Quit
Set excelapplication=Nothing
End Sub


2.excel-->notes++++++++++++++++++++++

Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim item As NotesItem
Dim files As Variant
Dim schar As String
Dim excelApplication As Variant
Dim excelWorkbook As Variant
Dim excelsheet As Variant
Dim i As Integer
Set db = session.CurrentDatabase
Set view = db.GetView( "ExcelRegister" )
files=workspace.OpenFileDialog (False,"选择引入数据文件","Excel file|*.xls","c:")
If files(0)="" Then
Exit Sub
Else
Set excelApplication=CreateObject("Excel.Application")
Set excelWorkbook =excelApplication.Workbooks.Open(files)
Set excelsheet=excelWorkbook.Worksheets(1)
i=2
stemp=excelSheet.Cells(i,1).Value
Do Until Cstr(stemp)=""
Set cpdoc=New NotesDocument(db)
cpdoc.form="Excel_notes注册表"
cpdoc.lx=excelsheet.Cells(i,1).Value
stemp=excelSheet.Cells(i,1).Value
stemp2=excelSheet.Cells(i,2).Value
cpdoc.NameExcel=stemp
cpdoc.AgeExcel=stemp2
i=i+1
Call cpdoc.save(True,False)
Call workspace.ViewRefresh
Loop
excelWorkbook.close(False)
excelApplication.Quit
Set excelApplication=Nothing
End If
End Sub
 楼主| 发表于 2003/3/21 12:41:58 | 显示全部楼层
---- 本文介绍了Notes 与 Office的三种接口程序的编制,它们可实现将Notes数据引入Office程序中,实现在Notes中较难实现的标签打印、表格打印以及修订显示等功能。

利用Word“邮件合并”功能
----Word的邮件合并功能可以将数据源的数据与主文档的数据合并,主要用于生成标签和信封等具有固定格式的文档。我们可以利用这个功能,将 Notes数据库中的数据引出,生成固定格式的文档,如:图书的小标签、信封打印等。

----步骤如下:

建立邮件合并所需的数据源文档模板(Source.dot)和主文档模板(Main.dot)。

在Notes数据库中,建立视图、表单,将Source.dot、Main.dot作为附件附加到表单中, 供后面的程序调用此模板生成文档。

通过s cript编程实现用Notes文档内容生成Word文档。下面是源程序的主要部分,该程序在Notes中点击“打印”按钮,或在操作菜单中选择“打印”时执行:

----①启动WORD。 Set wordapp=GetObject(“",“Word.Application.8" If Isempty(wordapp) Then Set wordapp = CreateObject(“Word.Application.8" If Isempty(wordapp) Then Messagebox “请先安装WORD 97。",0+64,“打印" Exit Sub End If End If

----②产生数据源文件。


Call wordapp.documents.add
Set WordSourceDoc= wordapp.activedocument
Set selection=wordapp.selection
Call WordSourceDoc.Tables.Add
(wordapp.selection.Range,2, 25)
Call selection.TypeText (“图书名称"
Call Selection.MoveRight(12)
Call selection.TypeText (“图书编号"
Call Selection.MoveRight(12)
Call selection.TypeText (“购入日期"
Call Selection.MoveRight(12)
……………
//生成数据源表头

Set CurDoc = uidoc.Document
Call selection.TypeText (CurDoc.Title(0))
Call Selection.MoveRight(12)
Call selection.TypeText (CurDoc.Code(0))
Call Selection.MoveRight(12)
Call selection.TypeText (CurDoc.Date(0))
Call Selection.MoveRight(12)
……………
//将 Notes文档中的数据填入数据源表中
FileName$=“c:图书数据源.doc"
Call WordSourceDoc.SaveAs (“c: 图书数据源.Doc"
//保存数据源文件

----③产生邮件合并主文档。


Set view=CurDb.GetView(“图书打印配置"
Set tspzdoc=view.GetDocumentByKey(CurDoc.P_type(0),True)
If tslxpzdoc Is Nothing Then
Messagebox “找不到配置文档,请重新生成
"+key+“编辑配置文档。",0+64,“检测配置文档"
Exit Sub
End If
Set ts_label=tspzdoc.GetAttachment(“图书标签.dot"
If ts_label Is Nothing Then
Messagebox “配置文档中找不到WORD"
Exit Sub
End If
FileName$=“c: 图书标签.dot"
Call ts_label.ExtractFile(FileName$)
WordApp.Documents.Open (“C: 图书标签.dot"

----④执行邮件合并。


With WordApp.ActiveDocument. MailMerge
.Destination =0
.Execute
End With
Call wordapp.Documents(“图书标签.dot".Close (0,0,False)
Call wordapp.Documents(“图书数据源.doc".Close (0,0,False)

利用Word表格实现接口
----表格在日常办公中经常用到,用Notes表单或视图打印表格,不仅格式简单,而且不够美观,很难满足需要。此时可将Notes数据库文档引出,利用Word生成表格。

----步骤如下:

建立表格文档模板,如:科技档案案卷目录.dot。

在Notes数据库中,建立视图、表单,表单中包括每页表格的行数、打印的起始行和列, 还包括一个RTF域,将文档模板引入这个RTF域,生成文档。

s cript编程实现用Notes文档内容生成Word文档。下面是源程序的主要部分,该程序在 Notes中点击“打印”按钮,或在操作菜单中选择“打印”时执行。

----①获得打印设置以及打印模板。


Set doc = docs.Getfirstdocument
If doc Is Nothing Then
Msgbox “没有选中打印文档",
Mb_Ok+Mb_IconStop,“停止"
Exit Sub
End If
Set Worddoc = ExtractWord(“科技档案案卷目录."
If Worddoc Is Nothing Then Exit Sub
//取得打印模板文档
Num_BeginH=Worddoc .Num_BeginH(0)
Num_BeginL=Worddoc.Num_BeginL(0)
Num_HS = Worddoc.Num_HS(0)
//取得打印设置,依次为开始行、开始列、每页打印行数

----②启动Word,根据Notes文档提供的表格模板生成Word 文档。


Set Tempdoc = CreateObject(“Word.Document.8"
Set Wordapp = Tempdoc.Application
Set WordBasic = Wordapp.WordBasic
WordBasic.FileNew Worddoc.Txt_PathName(0)

----③将Notes数据库的内容引入生成的Word文档中,生 成固定格式的表格。


Items = Worddoc.Txt_Items
Pageno = 1
Row = 1
While Not(doc Is Nothing)
If Row = 1 Then
If Pageno = 1 Then
Set Table = Wordapp.ActiveDocument.Tables(1)
WordBasic.EditSelectAll
Wordbasic.Editcopy
Table. Cell(Num_BeginH,Num_BeginL).Select
Else
wordapp.Selection.MoveRight 1,2
Wordbasic.InsertPagebreak
WordBasic.EditPaste
Set WordSelection = Wordapp.Selection
WordSelection.Delete 1,1
Set Table = Wordapp.ActiveDocument.Tables(Pageno)
Table.Cell(Num_BeginH, Num_BeginL).select
End If
Else
End If
For i = 0 To Ubound(Items)
InsertStr =doc.GetItemvalue(Items(i))
Wordbasic.insert Cstr(InsertStr(0))
End If
If i = Ubound(Items) And Row = Num_HS Then
Else
Wordbasic.NextCell
End If
Next
Row = Row + 1
If Row > Num_HS Then
Row = 1
Pageno = Pageno +1
End If
Wend
WordBasic.Appshow
Wordapp.WindowState = 1
End Sub

利用Word“修订”功能 实现修改痕迹保留功能
---- 在办公自动化系统必需的公文子系统中,发文流程必然涉及到正文的修改。根据档案工作的要求,修改的原稿必需保留,这就要求发文正文的修改痕迹必需保留。要在Notes中做到这一点是非常困难的。在Word中包含一个修订功能, 如果启用了修订功能,Microsoft Word 将使用修订标记来标记修订。文档审阅完毕之后, 可以根据不同的文本颜色区分出不同审阅者所做的修改。

----步骤如下:

----1. 建立一个Word文档,文档中包含以下宏。

----①查看痕迹。


Sub 查看痕迹()
With ActiveDocument
.TrackRevisions = False
//标记对指定文档的修改
.PrintRevisions = True
//在打印文档的同时打印修订标记
.ShowRevisions = True
//在屏幕上显示对指定文档的修订
End With
End Sub

----②不查看痕迹。


Sub 不查看痕迹()
With ActiveDocument
.TrackRevisions = False
.PrintRevisions = False
.ShowRevisions = False
End With
End Sub

----③保存退出。


Sub 保存退出()
ActiveDocument.Save
ActiveDocument.Close
End Sub

----2.将该文档作为对象在表单中创建,注意将其显示为图表 形式。

----3.将Notes中的用户名转入Word中,以便生成标注。该程序可在数据库的PostOpen事件中触发,主要程序如下。


Dim Wordapp As Variant
Set Wordapp = CreateObject(“Word.Document.8"
If Wordapp.Application.UserName
< > Session.CommonUserName Then
Wordapp.Application.UserName =
Session.CommonUserName
//设置Word用户名
End If
End Function
发表于 2003/3/21 13:20:44 | 显示全部楼层
不错!这样就对了!
发表于 2003/3/23 19:51:26 | 显示全部楼层
多发,我喜欢!

发表于 2003/3/26 09:03:53 | 显示全部楼层
哦,yjrx,你在这里啊。
发表于 2003/3/26 11:35:59 | 显示全部楼层
支持
发表于 2003/3/26 19:07:29 | 显示全部楼层
还有吗??
希望中
 楼主| 发表于 2003/4/3 17:31:32 | 显示全部楼层
以下是引用jackyzhan在2003-3-26 9:03:53的发言:
哦,yjrx,你在这里啊。


呵呵..老兄..我天天都在CSDN..多多交流..
发表于 2003/4/4 10:20:50 | 显示全部楼层
谢谢!
发表于 2003/4/12 23:57:04 | 显示全部楼层
谢谢版主的公式
虽然在帮助里也有公式列表
不过这样好多了
第一次发贴
多多指教!
有没有关于script的东东
发表于 2003/4/18 15:22:30 | 显示全部楼层
谢谢,不过,请问能以PDF或ZIP或CHM的形式公布吗?
发表于 2003/4/18 15:51:58 | 显示全部楼层
现在论坛人员太少!
有机会我们会制作成精华文档,提供给大家!
发表于 2003/4/22 08:25:41 | 显示全部楼层
非常好!
发表于 2003/5/8 17:15:12 | 显示全部楼层
太好了,谢谢
发表于 2003/5/10 10:43:48 | 显示全部楼层
我是新来的. 又学到好东西了. 谢谢.
发表于 2003/5/20 14:14:50 | 显示全部楼层
我也学到了一些东西,有没有关于弹出动画的程序,我想看看!要c/s结构的,谢谢
发表于 2003/5/30 22:19:54 | 显示全部楼层
这些网上都有,谁需要。自己找点时间都能找到了
发表于 2003/6/10 11:38:30 | 显示全部楼层
~高~
发表于 2003/7/27 15:04:34 | 显示全部楼层
/高兴/鼓掌
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 01:00 , Processed in 0.040817 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表