Как добавить кнопку в отчет Microsoft Access для экспорта в Excel/PDF?Как добавить кнопку в отчет Access для экспорта в Excel/PDF?
ответ
Кристиан предложил кнопку команды в форме, но вы также можете создать панель инструментов для отчета с помощью кнопки на ней, которая будет экспортировать отчет в Excel. Но, как говорит Тони, результаты будут уродливыми.
Я бы сказал, что более полезной будет кнопка, которая экспортирует данные, отображаемые в отчете, в электронную таблицу Excel. Форматирование не было бы таким же красивым, но было бы намного более полезным и манипулируемым. Для этого вы должны использовать DoCmd.TransferSpreadsheet и сохраненный запрос в качестве источника экспорта (что эквивалентно источнику данных отчета).
Можно получить довольно хорошее форматирование в Excel с помощью HTML, и не так сложно использовать шаблон в VBA и заполнить пробелы. – Fionnuala
Применяет ли Excel HTML, не делая что-то особенное? Word не справляется с этим через автоматизацию (или, по крайней мере, я не узнал, как это сделать) - это приводит меня к моей основной причине для комментариев, и это http://www.codinghorror.com/blog/archives /001311.html, где мы читаем лекции по разбору HTML. Есть ли доступное для использования решение для анализа HTML? Мне это нужно плохо! –
Modules: Sample Excel Automation - клетка за клеткой, которая является медленным
Modules: Transferring Records to Excel with Automation
Примечание хотя автоматизация Excel предложил фактически против запроса в качестве экспорта отчетов в Excel делает их чрезвычайно некрасиво. Если я правильно помню, эта функция была удалена в Access 2007.
A2000ReportToPDF - это база данных Access 2000, содержащая функцию преобразования файлов отчетов и моментальных снимков в документы PDF. Нет драйвера принтера PDF. Свободно.
Тони, согласно Аллену Брауну в http://allenbrowne.com/Access2007.html проблема экспорта в Excel была исправлена в A2007 SP2. –
AFAIK вы не можете «добавить» его в отчет. Но в том виде, открывает отчет, вы можете добавить кнопку со следующим кодом:
DoCmd.OutputTo acOutputReport, "ReportName", acFormatXLS,
"c:\YourFolderName\ReportName - " & Format(Date, "yyyymmdd") & ".xls"
Only Access 2007 has support for PDF's. Поэтому вам нужно либо установить принтер PDF, либо использовать предложение Tony Toews
Кристиан, вы когда-нибудь пытались экспортировать отчет в Excel? Это действительно уродливо. На самом деле A2007 имеет встроенную поддержку PDF, поэтому я должен был упомянуть об этом. –
@Tony Toews - только потому, что вы можете это не значит, что вам нужно ... –
Экспорт в PDF очень легко добавить в более ранние версии Access, либо с помощью конвертера снимков Stephen Lebans, либо с помощью чего-то вроде PDFCreator, который можно автоматизировать от VBA. –
Я только что объединил некоторые из предыдущих ответов, и это мой последний блок кода, который экспортирует отчет в excel и затем открывает указанный файл excel.
Private Sub Command79_Click()
'initialize variables
Dim strReportName As String
Dim strPathUser As String
Dim strFilePath As String
'set variables
strReportName = "AlarmLetterForSF"
strPathUser = Environ$("USERPROFILE") & "\my documents\"
strFilePath = strPathUser & strReportName & Format(Date, "yyyymmdd") & ".xls"
'export to excel
DoCmd.OutputTo acOutputReport, strReportName, acFormatXLS, strFilePath
'launch excel file
Dim Shex As Object
Set Shex = CreateObject("Shell.Application")
Shex.Open (strFilePath)
End Sub
Как это не программирование? – JeffO
GuinnessFam. Я согласился с вами и поднял это как вопрос в meta.stackoverflow.com. Нежные люди согласились с моим вопросом, чтобы они снова открыли этот вопрос. –
Я думаю, что это хороший вопрос, но он выглядит как один или комментарии, предполагающие, что это может быть проблематичный вопрос, возможно, были удалены. Это правда? Для контекста, четыре человека поддержали JeffO's «Как это не программирование?» комментарий, и @ tony-toews ответил на несуществующий комментарий от GuinnessFam. Может кто-нибудь объяснить? –