1
我有一个查询在一周的指定日期运行。在那一天,如果任何记录被标记为“需要订购”,那么订单窗口将通过命令按钮打开。命令按钮应该将查询数据导出到excel模板(已经格式化为它应该看起来的样子),然后附加到电子邮件模板以发送。我可以让查询附加到电子邮件,我似乎无法弄清楚如何让它使用Excel模板,而不是每次创建一个新的Excel工作簿。有什么建议尝试?将查询从Access导出到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;
该模板非常基础。第一行有我需要的所有标题。没有其他的。最终用户将会使用这种方式对excel不是很熟悉,所以我正在尽量让他尽可能简单。 – Mouse
然后您应该使用'DoCmd.TransferSpreadsheet acExport,...,HasFieldNames:= True'。如有必要,编辑你的查询列以获得你想要的列名('SELECT Fieldname AS [Column Header],...')。那么你可能不需要任何进一步的格式。 @Mouse – Andre
如果我需要添加一个没有字段的列,该怎么办?我需要将Excel的数量添加到Excel电子表格中,用户将手动输入数量。如果必须,我想我可以打开另一个窗口来询问数量。我只是想避免打开几个窗口来发送订单。 @ Andre451 – Mouse