我想要的:
我正在与MS Access数据库合作,为安大略省专业工程大学认证委员会编写一份报告。PEO在MS中有它们的模板,我必须使用它们的确切格式。
我希望将数据从Access DB输出到Excel表(非常容易),但在生成新文件时我希望复制它们的格式。(我不希望保留一个空的模板文件并每次复制它)。
从本质上说,我希望以某种方式将模板存储在代码中。(欢迎其他建议!)
我试过的是:
你们中的一些人会读到这篇文章,认为我是个白痴。但是我尝试的是通过API码从MS剪贴板上的excel获取数据,并将DataObject存储为某种字符串(我希望如此)。
但是,我无法从原始的MS模板中保留格式或单元格阴影。
有什么建议吗?
发布于 2014-07-02 16:05:37
通过创建包含Attachment
字段的表,可以将Excel模板存储在数据库中。
创建记录并将Excel模板保存为该记录的附件
然后使用这样的VBA代码,在需要时将Excel文档的新副本保存到磁盘:
Option Compare Database
Option Explicit
Public Sub SaveReportTemplateToFile()
Dim cdb As DAO.Database, rowRst As DAO.Recordset, attachRst As DAO.Recordset2, attachField As DAO.Field2
Set cdb = CurrentDb
Set rowRst = cdb.OpenRecordset("SELECT TemplateFile FROM ReportTemplates WHERE ID=1")
Set attachRst = rowRst.Fields("TemplateFile").Value
Set attachField = attachRst.Fields("FileData")
attachField.SaveToFile "C:\Users\Gord\Desktop\" & attachRst.Fields("FileName").Value
Set attachField = Nothing
attachRst.Close
Set attachRst = Nothing
rowRst.Close
Set rowRst = Nothing
Set cdb = Nothing
End Sub
发布于 2014-07-02 15:11:01
您要做的是首先将所有数据导出到一个空模板的新工作表中,然后将所有数据链接到模板上的正确位置,然后与所有数据一起删除工作表,将数据保存在模板上。
据我所知,没有更快的方法可以做到这一点,但这里有一个例子:http://www.rogersaccesslibrary.com/forum/topic350.html
这将是一个相当大的工作,但可行的,如果模板是良好的设置。
https://stackoverflow.com/questions/24534533
复制相似问题