Думая, что для решения возникшей у меня проблемы это самое быстрое решение:
- Создайте пользовательский CSV-файл для файла (это уже сделано через Perl).
- Открыть документ XLS с помощью командной строки на языке сценариев (клиенты уже получили несколько сценариев Perl, работающих в этом конвейере.)
- Написать VBA или записать макрос, который выполняет следующий OnLoad:
- Импортирует данные из файла CSV в шаблон отчета,
- Распечатывает файл через драйвер PDF в фиксированное местоположение, используя данные в CSV для присвоения имени файлу.
- Закрывает файл XLS.
Итак, возможно ли это с помощью макросов Excel, если нет - с помощью VBA - спасибо!
ПРИМЕЧАНИЕ: Похоже, мне все равно нужна копия MS Office, так что это намного быстрее, чем при использовании Visual Studio Tools for Office (VSTO).Шаблон отчета будет находиться на сервере, и таким образом конечный пользователь сможет создать столько отчетов, сколько пожелает, «протестировать», напечатав PDF-файл с использованием демонстрационного CSV-файла, и импортировать / встраивать marco или VBA, когда они 'сделано.Я посмотрел в Jasper Reports, но конечный пользователь размещает произвольный статический текст и группировки по всему отчету, и я полагаю, что таким образом они могут создавать отчеты так, как они хотят, а затем автоматизировать их.Оба эти вопроса мной и полученные комментарии / отзывы связаны с этим вопросом:
ФОКУСВОПРОС: Опять же, вопрос в том, возможно ли это через Excel Marcos, если не в макросах VBA, и есть ли какие-либо серьезные проблемы с этим подходом;например, я знаю, что это будет «медленно», так как Excel будет загружаться за одно задание, но на сервере 16 ГБ оперативной памяти, и он вообще не используется.Рисунок, так как мне все равно нужна копия офиса на сервере, это гораздо более быстрый подход.
Если у вас есть какие-либо вопросы, дайте мне знать через комментарии.