一直以來都關(guān)注的是自己的程序,前兩天被行政部的同事調(diào)去幫忙,突然遇到很多問題(Excel,word,圖片的操作)
首先向?qū)懗绦蛞粯拥乃悸?,擺需求:
需求一: 一個(gè)excel的每一行都是一條記錄(例如:人員信息),有一個(gè)word文檔,里面是表格(算是模板),現(xiàn)在需要將excel的每一條記錄,按照word的模板生成每一個(gè)word 解決方案: 1>傳統(tǒng)的手動(dòng)的將excel的每一條數(shù)據(jù)填入word模板,然后另存為一個(gè)word。循環(huán)excel的總行數(shù)次(以前行政人員是這樣做的) 這次看到excel的366條數(shù)據(jù),仔細(xì)琢磨了一下,如果一個(gè)人,保證不出錯(cuò),始終保證不疲憊的情況,保守的算,制作一個(gè)word 1分鐘,那么總共需要366分鐘,6個(gè)小時(shí)。龐大 的一個(gè)數(shù)量,想著這瘋了,加上我總共才有兩個(gè)人,做到啥時(shí)候去。由于前天突然接觸到Access數(shù)據(jù)庫,突然想到將excel數(shù)據(jù)導(dǎo)入到access數(shù)據(jù)庫,于是下一個(gè)解決方案出現(xiàn)了
2>將excel數(shù)據(jù)導(dǎo)入Access數(shù)據(jù)庫,運(yùn)用Access數(shù)據(jù)庫的導(dǎo)出的功能,動(dòng)態(tài)的將excel的字段,綁定到word模板中。 這樣從導(dǎo)入excel到導(dǎo)出word,花了不到十分鐘的時(shí)間。 這樣每一條excel的數(shù)據(jù)就生成了我們的word的每一頁 截圖就懂: 接下來,網(wǎng)上搜了一下,如何將word的每一頁生成一個(gè)word,呵呵,參照他們的宏命令,成功的將word的每一頁變成 另外的word(算了一下時(shí)間,word宏命令,每半秒生成一個(gè)word,188秒,3分鐘左右的時(shí)間,就大功告成) 步驟如下:
如何把一個(gè)word多頁文檔拆分為單頁或多頁 1、在Word里面打開那個(gè)需要分割的文檔(假設(shè)它的文件名叫做“原始文檔.doc”); 2、鍵入ALT+F11打開VBA編輯器,選擇菜單“插入-模塊”; 3、粘貼下面的代碼: Option Explicit Sub SplitPagesAsDocuments() Dim oSrcDoc As Document, oNewDoc As Document Dim strSrcName As String, strNewName As String Dim oRange As Range Dim nIndex As Integer Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject") Set oSrcDoc = ActiveDocument Set oRange = oSrcDoc.Content oRange.Collapse wdCollapseStart oRange.Select For nIndex = 1 ToActiveDocument.Content.Information(wdNumberOfPagesInDocument) oSrcDoc.Bookmarks("\page").Range.Copy oSrcDoc.Windows(1).Activate Application.Browser.Target = wdBrowsePage Application.Browser.Next
strSrcName = oSrcDoc.FullName strNewName = fso.BuildPath(fso.GetParentFolderName(strSrcName), _ fso.GetBaseName(strSrcName) & "_" & nIndex &"." & fso.GetExtensionName(strSrcName)) Set oNewDoc = Documents.Add Selection.Paste oNewDoc.SaveAs strNewName oNewDoc.Close False Next Set oNewDoc = Nothing Set oRange = Nothing Set oSrcDoc = Nothing Set fso = Nothing MsgBox "結(jié)束!" End Sub 4、鍵入F5運(yùn)行,看到“完成!”結(jié)束。
|
|