excel每一條數據 生成成一個word模板,(模板裏面的字段需要動態的綁定excel屬性)

一直以來都關注的是自己的程序,前兩天被行政部的同事調去幫忙,突然遇到很多問題(Excel,word,圖片的操作)

 

首先向寫程序一樣的思路,擺需求:

 

需求一:

一個excel的每一行都是一條記錄(例如:人員信息),有一個word文檔,裏面是表格(算是模板),現在需要將excel的每一條記錄,按照word的模板生成每一個word

解決方案:

1>傳統的手動的將excel的每一條數據填入word模板,然後另存爲一個word。循環excel的總行數次(以前行政人員是這樣做的)

     這次看到excel的366條數據,仔細琢磨了一下,如果一個人,保證不出錯,始終保證不疲憊的情況,保守的算,製作一個word 1分鐘,那麼總共需要366分鐘,6個小時。龐大  的一個數量,想着這瘋了,加上我總共纔有兩個人,做到啥時候去。由於前天突然接觸到Access數據庫,突然想到將excel數據導入到access數據庫,於是下一個解決方案出現了

 

2>將excel數據導入Access數據庫,運用Access數據庫的導出的功能,動態的將excel的字段,綁定到word模板中。

    這樣從導入excel到導出word,花了不到十分鐘的時間。

     這樣每一條excel的數據就生成了我們的word的每一頁

    截圖就懂:

     接下來,網上搜了一下,如何將word的每一頁生成一個word,呵呵,參照他們的宏命令,成功的將word的每一頁變成 另外的word(算了一下時間,word宏命令,每半秒生成一個word,188秒,3分鐘左右的時間,就大功告成)

    步驟如下:

   

如何把一個word多頁文檔拆分爲單頁或多頁

1、在Word裏面打開那個需要分割的文檔(假設它的文件名叫做“原始文檔.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 "結束!"

End Sub

4、鍵入F5運行,看到“完成!”結束。

 

 

  

 

 

   

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章