VBA - Remover senha da seqüência de conexão OLEDB
Tenho um arquivo do Excel que contém uma série de conexões OLEDB aproveitadas por várias tabelas dinâmicas. Eu gostaria de criar uma função VBA que remova toda a senha dessa cadeia de conexão, conforme o arquivo é fechado (para que a senha do usuário não seja mantida). Primeiro, pensei que tudo o que precisava fazer era definir a propriedade "Salvar senha" como false, algo como isto:
Public Sub RemovePasswordByNamePrefix()
Dim cn As Object
Dim oledbCn As OLEDBConnection
For Each cn In ThisWorkbook.connections
Set oledbCn = cn.OLEDBConnection
oledbCn.SavePassword = False
Next
End Sub
Deverá funcionar corretamente, ao fechar o arquivo e reabri-lo, você não verá mais a senha na cadeia de conexão. Não deve ser "Salvo":
Errado, a senha ainda está lá ... Foi "Salva". Não tenho certeza do que esse recurso deve fazer. Talvez não se referindo a uma senha diferente? Então, eu tentei obig hammer approach, infelizmente, tem seus próprios desafios e, até agora, ainda não consegui esse trabalh
Não sei bem como fazer isso ... Por que isso é tão inseguro? Ele persiste em senhas em texto sem formatação todos os arquivos que contêm uma cadeia de conexão desse tipo, facilmente legível por quem pode acessar esse arquiv
Talvez eu pudesse fazer algum tipo de Regex para remover apenas a senha do arquivo? Quando faço isso na interface, meus cubos são atualizados e solicitam minhas credenciais, (eu me pergunto) isso aconteceria se eu fizesse isso no VBA, mesmo que o gatilho esteja em excelente fechamento?
Bottom Line: Qual é a melhor maneira de impedir que essas senhas sejam persistidas no arquivo após o seu fechamento?