Olá.
Tenho um desafio que é criar um projeto onde eu consiga fazer a interação do EXCEL ( Códigos VBA ) com o Exchange. A ideia seria, fazer a comunicação com o Exchange on line, inserir usuários em um determinado grupo e-mail ou lista de distribuição. O Exemplo abaixo explica melhor, tentei vários códigos sem sucesso, porém anexei um exemplo em que tem os códigos que funcionam perfeitamente pelo Power Shell, porém gostaria de otimizar pelo Excel 2019.
Caso alguém tenha dicas ou consiga realizar.
Obrigado !
Vídeo recomendado
https://youtu.be/Ju8Esra5--I
https://youtu.be/Ju8Esra5--I
Linguagem power shell para VBA ( Interação exchange on line )
-
Evaldo_Almeida
- Acabou de chegar

- Mensagens: 5
- Registrado em: Seg Fev 20, 2023 8:54 pm
Linguagem power shell para VBA ( Interação exchange on line )
- Anexos
-
- exchange2.rar
- (23.46 KiB) Baixado 445 vezes
Re: Linguagem power shell para VBA ( Interação exchange on line )
Evaldo,
A resposta é longa. Já disse isso aqui e repito, possível tudo é, mas tem um custo, seja de tempo ou investimento.
Primeiro um pouco de contexto (desculpe, é preciso). O Powershell é mais novo que o VBA. Não só isso, ele vem sendo atualizado com frequência (haja vista o Powershell core), coisa que o VBA não é tem muito, muito tempo.
Por ser mais novo e ter sido lançado depois do .NET Framework, o Powershell faz extenso uso das bibliotecas deste (fonte: https://github.com/PowerShell/PowerShell/issues/5769). Esse comentário já diz muito sobre a implementação já que o .NET Framework oferece uma quantidade generosa de abstrações da qual o Powershell faz uso e o VBA "nem sonha" em ter acesso.
Mas é possível acessar bibliotecas .NET do VBA? Resposta curta: sim, reposta longa: é inviável
Aqui os passos para tornar possível a chamada de uma função do .NET Framework pelo VBA: https://stackoverflow.com/a/39199922
É tanta coisa que muitos desistem no meio do caminho.
No seu caso, recomendo manter as funções que criou no script Powershell e invocá-las pelo VBA (chamando o script ps1 diretamente via ShellExecute, carece de testes). A passagem de valores seria algo a ser estudado, talvez via txt/xml/json, algo que as duas linguagens em questão manipulem bem.
Sim, é um baita desafio. Boa sorte e conte com o fórum para dar uma luz
A resposta é longa. Já disse isso aqui e repito, possível tudo é, mas tem um custo, seja de tempo ou investimento.
Primeiro um pouco de contexto (desculpe, é preciso). O Powershell é mais novo que o VBA. Não só isso, ele vem sendo atualizado com frequência (haja vista o Powershell core), coisa que o VBA não é tem muito, muito tempo.
Por ser mais novo e ter sido lançado depois do .NET Framework, o Powershell faz extenso uso das bibliotecas deste (fonte: https://github.com/PowerShell/PowerShell/issues/5769). Esse comentário já diz muito sobre a implementação já que o .NET Framework oferece uma quantidade generosa de abstrações da qual o Powershell faz uso e o VBA "nem sonha" em ter acesso.
Mas é possível acessar bibliotecas .NET do VBA? Resposta curta: sim, reposta longa: é inviável
Aqui os passos para tornar possível a chamada de uma função do .NET Framework pelo VBA: https://stackoverflow.com/a/39199922
É tanta coisa que muitos desistem no meio do caminho.
No seu caso, recomendo manter as funções que criou no script Powershell e invocá-las pelo VBA (chamando o script ps1 diretamente via ShellExecute, carece de testes). A passagem de valores seria algo a ser estudado, talvez via txt/xml/json, algo que as duas linguagens em questão manipulem bem.
Sim, é um baita desafio. Boa sorte e conte com o fórum para dar uma luz

