lotusscript操作word文件

原创 2004年07月05日 16:17:00

最近做了一个模块,功能是把word文件的数据引入lotus,word文件中的数据是表,大约300个相同格式的表格,
 代码如下:
 Sub Initialize
 %REM
 @author:snowdot23 @time:2004-1-10
 @description:
  import some datas of tables from word,and write its to notes,show its in the web;

 %END REM
 
  Const wName="d:全引目录.doc"
  Dim session As New NotesSession
 
  Dim view As NotesView
  Dim doc As NotesDocument
  Set db = session.CurrentDatabase
  Set doc = New NotesDocument(db)
  Dim item As NotesItem
  Dim One As String
  Dim row As Integer
  Dim written, records,ver  As Integer
  Dim FName As String
  Dim VName As String
  Dim xlFilename As String
  On Error Goto Error_call
 
  ''Set view = db.GetView("Import" 
 
  FormNamedoc= "frmdoc" 
 
  formnameml="frmjuanml"
 
 
  Dim  application As Variant
  Dim Word As Variant
 
 
  Set application= CreateObject( "Word.Application.9"  ''
  ''Set word =application.Documents.Open(wName)
  Application.Visible = False
  Set word =application.Documents.Open(wName,True)
  Call word .Activate
 
  Dim intRowCount As Integer
  intRowCount=1100
  Dim table As Variant
  Dim ocell As Variant
  Dim myrange As Variant
  ''word.Tables.Count
  If word.Tables.Count>0 Then
   For i=1 To word.Tables.Count
    Set table=word.Tables(i)
    ''createdocml(table)
    Dim docml As NotesDocument
    Set  docml = db.CreateDocument
    Dim datStart As String
    Dim datStop As String
   
    Dim objselect As Variant
    docml.Form = "frmjuanml"
   
   
   
    With table
 //取出表中第一行第二个单元格的值
     Set oc = table.Rows(1).Cells(2)
     Set myrange = word.Range(oc.Range.Start, _
     oc.Range.End - 1) //单元格的文本值
     Call  docml.ReplaceItemValue( temp1,Trim(myrange.Text)) ''取得年度域值
     Set oc = table.Rows(1).Cells(4)
     Set myrange = word.Range(oc.Range.Start, _
     oc.Range.End - 1)
     Call  docml.ReplaceItemValue( temp2,Trim(myrange.Text))
     Set oc = table.Rows(1).Cells(6)
     Set myrange = word.Range(oc.Range.Start, _
     oc.Range.End - 1)
     Call  docml.ReplaceItemValue( temp3,Trim(myrange.Text))
     Set oc = table.Rows(2).Cells(2)
     Set myrange = word.Range(oc.Range.Start, _
     oc.Range.End - 1)
     Call  docml.ReplaceItemValue( temp4,Trim(myrange.Text))
     Set oc = table.Rows(2).Cells(4)
     Set myrange = word.Range(oc.Range.Start, _
     oc.Range.End - 1)
     Dim   wordD As  wordDate
     Set  wordD=New  wordDate(Trim(myrange.Text))
     datstart=wordD.getStartDate()
     datstop=wordD.getStopDate()
     Call  docml.ReplaceItemValue( temp5,datStart)
     Call  docml.ReplaceItemValue( temp6,datStop)
     Set oc = table.Rows(2).Cells(6)
     Set myrange = word.Range(oc.Range.Start, _
     oc.Range.End - 1)
     Call  docml.ReplaceItemValue( temp7,Trim(myrange.Text))
    
     Set oc = table.Rows(3).Cells(2)
     Set myrange = word.Range(oc.Range.Start, _
     oc.Range.End - 1)
     Call  docml.ReplaceItemValue("subject", Trim(myrange.Text))
    
    
     Call docml.Save(True,True)
    
    End With
   
    Call createDocDoc(docml,word,table)
   Next

   Set ocell=Nothing
   Set myrange=Nothing
   Set table=Nothing
  
  End If

  row = 0
  written = 0

  word.Close 
  application.Quit
  Set word =Nothing
  Set application = Nothing
  Print " " '' 
  Exit Sub
 Error_call:
  Print Error +"=========="+Cstr(Erl)
  application.Close
  Excel.Quit
  Set word =Nothing
  Set application = Nothing
  Exit Sub
 End Sub

 

35. 面向对象的LotusScript(七)之导入Excel

Microsoft Office是应用最广泛的办公软件,绝大多数公司的必备软件。其中的Excel操作直观方便,很多公司都有大量数据以Excel文件的格式保存。一个LotusNotes应用在很多情况下都...
  • starrow
  • starrow
  • 2013年07月04日 22:43
  • 4216

41. 面向对象的LotusScript(十三)之继承与事件

在36. 面向对象的LotusScript(八)之继承里,我们提到LotusScript中继承的应用可以分为两类。第一类符合面向对象思想中继承的原意,已经在导出Excel的系列文章里例示了。第二类特殊...
  • starrow
  • starrow
  • 2013年07月16日 17:37
  • 3070

33. 面向对象的LotusScript(六)之为自定义对象模拟事件

(这是一篇我几年前发表在IBM developerWorks上的文章,在此转帖,构成面向对象的LotusScript的系列文章之一篇,并为后续的讨论做准备。) 前言 事件是面向对象语言普遍支持和使用的...
  • starrow
  • starrow
  • 2013年07月02日 11:39
  • 7579

37. 面向对象的LotusScript(九)之导出Excel(一)

上一篇文章说到在LotusScript编写类时采用继承有两类情况,接下来的几篇文章介绍的就是其中的一种:为了重用代码。将Notes数据导出到Excel就是展现这类继承的一个很好场合。 微软的Excel...
  • starrow
  • starrow
  • 2013年07月07日 16:47
  • 3917

86. LotusScript中的数组函数

R6对LotusScript有一些改进和增强,自那之后,Notes对象的接口时有补充和更新,但语言本身没有变化。那些改进就包括增加诸如ArrayGetIndex、ArrayUnique的有用函数。但在...
  • starrow
  • starrow
  • 2014年12月16日 11:03
  • 4844

Asp.net如何操作Word文档

引用Word对象库文件 具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将库文件转化为DLL组...
  • jkpi888
  • jkpi888
  • 2013年12月04日 23:52
  • 1368

Ajax获取代理返回的Json数据

【背景】 Ajax在开发过程中使用的很多,局部刷新、动态加载等功能,非常受到用户的青睐,它可以接收代码返回的xml、html、Json等格式,本人主要讲述返回Json格式。 下面的代码是判断用户输...
  • Gavid0124
  • Gavid0124
  • 2014年09月29日 11:20
  • 1374

c# 操作Word总结

Word对象模型 (.Net Perspective)   五大对象 Application :代表Microsoft Word应用程序本身   是Document和Selection的基类。通...
  • xu_life
  • xu_life
  • 2016年09月23日 10:26
  • 2381

40. 面向对象的LotusScript(十二)之SheetWriter

本文要介绍在写入Excel工作表中单元格值的时候用到的工具类:SheetWriter。获得一个Excel工作表的对象句柄后,写其中的某个单元格本来是很平凡的事。 sheet.Cells(2, 3).V...
  • starrow
  • starrow
  • 2013年07月13日 17:02
  • 2601

利用Java读取并写入Word文件

java 读取Word,写入Word
  • xiyushiyi
  • xiyushiyi
  • 2014年11月26日 17:54
  • 48494
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lotusscript操作word文件
举报原因:
原因补充:

(最多只允许输入30个字)