excel每一条数据 生成成一个word模板,(模板里面的字段需要动态的绑定excel属性)

来源:互联网 发布:暗黑2 1.13 mac 编辑:程序博客网 时间:2024/05/18 03:24

一直以来都关注的是自己的程序,前两天被行政部的同事调去帮忙,突然遇到很多问题(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运行,看到“完成!”结束。

 

 

  

 

 

   

 

 

原创粉丝点击