Phi*_*ins 2 windows ms-access vba ms-access-2013
我正在使用 MS Access 数据库为安大略专业工程大学认证委员会制作报告。PEO 在 MS Excel 中有他们的模板,我必须使用他们的确切格式。
我想将数据从 Access DB 输出到 Excel 工作表(足够简单),但我想在生成新文件时复制它们的格式。(我不想保留一个空的模板文件并每次都复制它)。
所以基本上我希望以某种方式将模板存储在代码中。(欢迎其他建议!)
你们中的一些人会读到这里并认为我是个白痴。但是我尝试的是通过API 代码从 MS 剪贴板上的 excel 获取数据,并将 DataObject 存储为(我希望)某种字符串。
但我无法保留原始 MS Excel 模板中的格式或单元格阴影。
有什么建议?...
您可以通过创建包含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
Run Code Online (Sandbox Code Playgroud)