从 Access 导出查询到 Excel 模板

Export Query from Access to an Excel Template

我有一个在一周中指定的一天运行的查询。在那一天,如果任何记录被标记为 "Needs Ordered",那么订单 window 将打开一个命令按钮。命令按钮应将查询数据导出到 excel 模板(已按应有的方式格式化),然后附加到电子邮件模板以发送。我可以获取附加到电子邮件的查询 我似乎无法弄清楚如何让它使用 excel 模板而不是每次都创建一个新的 excel 工作簿。对尝试什么有什么建议吗?

Dim myolapp As Object 
Dim myitem As Object 

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "BoxOrder", "C:\Users\Database Design\Desktop\BoxOrder.xlsx", True 

Set myolapp = CreateObject("Outlook.Application") myolapp.Session.Logon 
Set myitem = myolapp.CreateItemFromTemplate("F:\BOX ORDER FOR PC CONNECTION.oft") 
Set myAttachments = myitem.attachments 

myAttachments.Add "C:\Users\Database Design\Desktop\BoxOrder.xlsx"
myitem.Display 'or send 
DoCmd.Close acForm, "OrderForm"

BoxOrder查询:

SELECT '' AS [Quantity Needed], [BoxOrder].[Box Size], [BoxOrder].Comments, 
       [BoxOrder].[Certified/Stamped Boxes], [BoxOrder].[Box Type] 
FROM BoxOrder; 

你不能。 DoCmd.OutputToTemplateFile 参数仅用于 HTML(和类似)导出。

使用DoCmd.OutputToDoCmd.TransferSpreadsheet后有两种可能。这一切都可以通过 VBA:

来完成
  • 打开导出的文件和模板文件,将导出的数据复制并粘贴到模板,另存为新文件。
  • 打开导出的文件,应用 VBA 格式。
    使用 Excel 宏录制器让您抢先一步。

看你模板的复杂程度,哪个好。