MS Excel Автоматизация без макросов в сгенерированных отчетах. Есть предположения?
-
27-09-2019 - |
Вопрос
Я знаю, что сеть полна таких вопросов, но я до сих пор не смогли применить ответы, которые я могу найти к моей ситуации.
Я понимаю, что есть VBA, но я всегда не любил иметь программу / макрос, проживающий внутри файла Excel, с результирующим раздуваем, предупреждения о безопасности и т. Д. Я думаю вдоль линий VBScript, который работает на наборе файлов Excel, пока Оставляя их без макро. Теперь я смог «покрасить первый столбец Blue» для всех файлов в каталоге, следующий за этим подходом, но мне нужно сделать более сложные операции (графики, поворотные таблицы и т. Д.), Что было бы намного сложнее (невозможно ?) С VBScript чем с VBA.
Для этого конкретного примера знание того, как удалить все макросы из всех файлов после обработки, но все предложения приветствуются. Любые хорошие ссылки? Любые советы о том, как наилучшим образом подходят внешняя пакетная обработка файлов Excel.
Спасибо!
PS: Я с нетерпением пробовал Отметить отличный пакет Hammond Pywin32, но отсутствие документации и переводчика отзывы меня обескураживают.
Решение
Вы можете поставить свои макросы в отдельный файл Excel.
Другие советы
Почти все, что вы можете сделать в VBA, чтобы автоматизировать Excel, вы можете сделать в VBScript (или любой другой скрипт / язык, который поддерживает COM).
После того, как вы создали экземпляр Excel.Application, вы можете в значительной степени бросить вашу VBA в VBS и отправиться оттуда.
Если это возможности Excel / VBA, которые вы ищете использовать, вы всегда можете начать с создания всего кода, который будет взаимодействовать с файлами Excel, которые вы хотите работать в файле Excel - своего рода основной файл, который отделен от обычных файлов, как предложено Karsten W.
Это дает вам свободу писать Excel / VBA.
Затем вы можете позвонить своей главной рабочей книге (которая можно настроить, чтобы запустить код, когда книга открыта, например) из сценария VB, пакетной файл, планировщика задач и т. Д.
Если вы хотите получить Fancy, вы даже можете использовать VBA в своем главном файле для создания / изменения / удаления пользовательских макросов / VBA-модулей в любом из целевых файлов, которые вы обрабатываете.
Информация только о всех техниках, которые я описываю, я получил от встроенных документов Excel VBA, но это, безусловно, помогает быть знакомым с конкретными задачами программирования, которые вы решаете. Я посоветую, чтобы лучший подход состоит в том, чтобы собрать ваши задачи (например, сделать столбец Blue, обновлять / сортировать данные и т. Д.) Один за другим, а затем беспокоиться о автоматизации в конце.