Notes與Office的介面
---- 本文介紹了Notes 與 Office的三種介面程式的編制,它們可實現將 Notes資料引入Office程式中,實現在Notes中較難實現的標籤列印、表格列印以及修訂顯示等功能。
利用Word“郵件合併”功能
----Word的郵件合併功能可以將資料來源的資料與主文件的資料合併,主要用於生成標籤和信封等具有固定格式的文件。我們可以利用這個功能,將 Notes資料庫中的資料引出,生成固定格式的文件,如:圖書的小標籤、信封列印等。
----步驟如下:
建立郵件合併所需的資料來源文件模板(Source.dot)和主文件模板(Main.dot)。
在Notes資料庫中,建立檢視、表單,將 Source.dot、Main.dot作為附件附加到表單中, 供後面的程式呼叫此模板生成文件。
通過Script程式設計實現用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域,生成文件。
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.Editcop y
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 ThenElse
Wordbas ic.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
----②不檢視痕跡。< /SPAN>
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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-411999/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Microsoft Office 2013與WPS Office 2013對比ROS
- Mongodb NotesMongoDB
- Typora Notes
- ACM notesACM
- [Ruby Notes] Proc
- [Bun] Bun notes
- WireGuard Use Notes
- Redis Reading NotesRedis
- 類與介面(三)java中的介面與巢狀介面Java巢狀
- 70個注意的Python小NotesPython
- Recommendation Systems Basic Notes
- Reinforcement Learning Basic Notes
- c++stl notesC++
- TiDB 2.1 GA Release NotesTiDB
- Notes about Vue Style GuideVueGUIIDE
- Travel Notes-Record mood
- Based UE_Project NotesProject
- Some notes about patch workflows
- R language notes | pipes: chainingAI
- office2016和2019哪個好用 office2016與2019的區別詳細說明
- office 2010 金鑰 office 2010永久的金鑰
- SAP SD Reference Guide: SAP NotesGUIIDE
- some notes about distributed workflows in GitGit
- WeihanLi.Npoi 1.14.0 Release Notes
- TypeScript介面與類的使用TypeScript
- Cobalt-Strike Office巨集利用與免殺
- WPS Office:Linux 上的 Microsoft Office 的免費替代品LinuxROS
- Office 2019 office辦公套件套件
- WeihanLi.Npoi 1.11.0/1.12.0 Release Notes
- java中的抽象類與介面Java抽象
- Java的抽象類與介面理解Java抽象
- Flutter Notes | 我用到的一些外掛整理Flutter
- 不懂OFFICE的學渣
- Java 自學 - 介面與繼承 介面Java繼承
- Apifox介面測試教程(一)介面測試的原理與工具API
- 抽象類與介面抽象
- Ruby class_eval and instance_eval notes
- 【Coursera GenAI with LLM】 Week 2 PEFT Class NotesAI
- Flutter Notes | Android 借殼分享微信FlutterAndroid