MS Excel Автоматизация без макросов в сгенерированных отчетах. Есть предположения?

StackOverflow https://stackoverflow.com/questions/2839676

Вопрос

Я знаю, что сеть полна таких вопросов, но я до сих пор не смогли применить ответы, которые я могу найти к моей ситуации.

Я понимаю, что есть 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, обновлять / сортировать данные и т. Д.) Один за другим, а затем беспокоиться о автоматизации в конце.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top