2015-05-28 2 views
-1

ПРЕДПОСЫЛКА: Мы проводим автоматизированный анализ данных на огромном количестве данных и должны автоматизировать генерацию отчета. Мое текущее решение имеет скрипт python, который анализирует сценарий VB, который генерирует отчет PPT. У меня 2 конкретных проблем, которые я не могу найти ответы на:Точка питания VBA macro: максимальная длина и выполнение через скрипт

ПРОБЛЕМЫ:

  1. До сих пор, сценарий VB сохраняется в виде текстового файла. Затем я вручную копировал содержимое, вставлял его на интерфейс MS PowerPoint VB и запускал его. Есть ли более элегантный способ сделать это? Например. (1) есть ли определенное расширение файла, которое распознается Windows для выполнения как макрос ppt, поэтому мои пользователи могут дважды щелкнуть значок, и он просто выполняет PPT? (2) или есть способ использовать python для вызова PPT для запуска макроса? Затем я могу просто сохранить фактическое представление.

  2. Я обнаружил, что метод ручной копии-пасты выше возвращает ошибку, если длина макроса составляет примерно> 1000 строк (это огромный объем данных!). Я не могу найти точное ограничение размера макроса. Какова максимальная длина этого макроса PPT? Есть ли способ обойти это ограничение элегантным способом? Мой текущий обходной путь, чтобы разобрать несколько файлов .txt, если количество строк превышает 1000.

Спасибо,

+0

Вы можете автоматизировать PowerPoint непосредственно с Python (при условии, что вы работаете в Windows) http://www.s-anand.net/blog/automating-powerpoint-with-python/ –

ответ

0

Вы можете изучить с помощью питона-PPTX для создания файла PowerPoint непосредственно, избегая необходимости генерировать VBA и сделайте бит для копирования.

+0

Спасибо за предложение. Я проверил python-pptx, но я нашел некоторые административные проблемы с его внедрением в нашей компьютерной системе. Таким образом, я пытаюсь найти любой другой способ, который использует только barebone python. –

0

Есть ли более элегантный способ сделать это? Например. (1) есть ли определенное расширение файла, которое распознается Windows для выполнения как макрос ppt, поэтому мои пользователи могут дважды щелкнуть значок, и он просто выполняет PPT?

Номер

(2) или есть способ использовать Python для вызова PPT для запуска макроса? Затем я могу просто сохранить фактическое представление.

Другие комментарии относительно использования python. Или посмотрите на использование VBScript вместо VBA. VBScript можно запустить из командной строки и может автоматизировать PowerPoint.

+0

Спасибо. VBScript кажется интересной альтернативой. Я посмотрю. –

Смежные вопросы