作者:Wonghowah | 来源:互联网 | 2023-08-27 15:24
可以实现的,如果导入到一个word里。我只是看不懂这个代码而已看看:利用Word表格实现接口----表格在日常办公中经常用到,用Notes表单或视图打印表格,不仅格式简单,而且不够
可以实现的,如果导入到一个word里。我只是看不懂这个代码而已
看看:
利用Word表格实现接口
----表格在日常办公中经常用到,用Notes表单或视图打印表格,不仅格式简单,而且不够美观,很难满足需要。此时可将Notes数据库文档引出,利用Word生成表格。
----步骤如下:
建立表格文档模板,如:科技档案案卷目录.dot。
在Notes数据库中,建立视图、表单,表单中包括每页表格的行数、打印的起始行和列, 还包括一个RTF域,将文档模板引入这个RTF域,生成文档。
Script编程实现用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
9 个解决方案
以上用到的是word的VBA代码,这个可以查看word的帮助文件的倒数第二项,或者查看ms的msdn.
我的代码比你列出的稍微短一点,因为我已经在word的模板(*.dot文件)中把格式定义好了。
Dim ns As New notessession
Dim mark As String,wordpath As String,path As String
Dim wordapp As Variant
path =ns.getenvironmentstring("Directory",True) 'notes工作路径
Set wordapp=createobject("word.application")
If wordapp Is Nothing Then
Messagebox "您没有安装Word,不能调用Word的打印功能!",16
Exit Sub
End If
wordapp.visible=True
wordapp.changefileopendirectory(path)
wordpath=path+"\"+"word.dot"
wordapp.documents.Open(wordpath)
Dim ws As New notesuiworkspace
Dim uidoc As notesuidocument
Dim doc As notesdocument
Set uidoc = ws.currentdocument
Set doc = uidoc.document
Dim printvar() As String
Dim arrnum As Variant
arrnum = 10
wordapp.activedocument.bookmarks("serial").select'inputname为word中定义的书签名
wordapp.wordbasic.insert(doc.serial(0))
wordapp.activedocument.bookmarks("no").select
wordapp.wordbasic.insert(doc.no(0))
wordapp.activedocument.bookmarks("date").select
wordapp.wordbasic.insert(Cstr(doc.inputdate(0)))
wordapp.activedocument.bookmarks("title").select
wordapp.wordbasic.insert(doc.title(0))
wordapp.activedocument.bookmarks("fromaddress").select
wordapp.wordbasic.insert(doc.fromaddress(0))
wordapp.activedocument.bookmarks("content").select
wordapp.wordbasic.insert(doc.content(0))
'preview
If PrintPreview = False Then
ReadOnlyRecommended=True
wordapp.ActiveDocument.PrintPreview
End If
'print
wordapp.Activedocument.printout
flag=Msgbox("打印已经结束。",MB_OK,"提示")
If flag=1 Then
wordapp.activedocument.close(wdnotsavechanges)
wordapp.quit(wdnotsavechanges)
End If
小木可,我也要
strongsun_qw@163.com