Pergunta

Sei que a Web está cheia de perguntas como esta, mas ainda não consegui aplicar as respostas que posso encontrar à minha situação.

Sei que há VBA, mas sempre não gostei de ter o programa/macro vivendo dentro do arquivo do Excel, com o inchaço resultante, avisos de segurança, etc. Estou pensando na linha de um VBScript que funciona em um conjunto de arquivos do Excel enquanto deixando-os livres de macro. Agora, pude "pintar a primeira coluna azul" para todos os arquivos em um diretório após essa abordagem, mas preciso fazer operações mais complexas (gráficos, tabelas de articulação etc.), o que seria muito mais difícil (impossível ?) Com VBScript do que com VBA.

Para este exemplo específico, saber como remover todas as macros de todos os arquivos após o processamento seria suficiente, mas todas as sugestões são bem -vindas. Alguma boa referência? Qualquer conselho sobre a melhor forma de abordar o processamento de lote externo de arquivos do Excel será apreciado.

Obrigado!

PS: Eu tentei ansiosamente o pacote PYWIN32 de Mark Hammond, mas a falta de documentação e feedback de intérpretes me desencorajou.

Foi útil?

Solução

Você pode colocar suas macros em um arquivo do Excel separado.

Outras dicas

Quase tudo o que você pode fazer no VBA para automatizar o Excel que você pode fazer no VBScript (ou em qualquer outro script/idioma que suporta com).

Depois de criar uma instância do Excel.Application, você pode praticamente soltar seu VBA em um VBS e ir a partir daí.

Se é a capacidade do Excel/VBA que você deseja usar, sempre poderá começar criando todo o código que interagirá com os arquivos do Excel em que você deseja trabalhar em um arquivo do Excel - um tipo de arquivo mestre que está separado dos arquivos regulares, conforme sugerido por Karsten W.

Isso lhe dá a liberdade de escrever Excel/VBA.

Em seguida, você pode ligar para sua pasta de trabalho mestre (que pode ser configurada para executar seu código quando o livro for aberto, por exemplo) de um script VB, arquivo em lote, agendador de tarefas, etc.

Se você quiser se buscar, pode até usar o VBA em seu arquivo mestre para criar/modificar/excluir módulos Macros/VBA personalizados em qualquer um dos arquivos de destino que você está processando.

As informações para quase todas as técnicas que estou descrevendo que obtive dos documentos de referência internos do Excel VBA, mas certamente ajudam a se familiarizar com as tarefas de programação específicas que você está enfrentando. Eu aconselho que a melhor abordagem é montar suas tarefas (por exemplo, fazer coluna azul, atualizar dados etc.) um por um e depois se preocupar com a automação no final.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top