REFERENCIA DINAMICA DO WORD NO VB6
Boa noite pessoal!
Tenho muita experiência no VBA do Excel, e costumava usar referências dinâmicas, que facilitavam no momento em que os usuários usavam o mesmo aplicativo em versões diferentes do Office.
Agora, estou desenvolvendo um projeto em VB6, mas não estou conseguindo deixar a referência que estou usando (Word) dinâmica.
Acho que não vira gerar um executável para cada versão, né........
Alguém pode me ajudar?
Abaixo, o código que usava no VBA:
[txt-color=#0000f0]Public Sub AdicionaReferenciaWord()
[ô]Faz a referência ao projeto VBA
Dim vbProj As VBProject
[ô]A referencia em si
Dim versao As Long
[ô]Seta a variável para o projeto da pasta de trabalho ativa.
vbProj = ActiveWorkbook.VBProject
[ô]Pega a versão atual do Office e corrige a variável
versao = CLng(Application.Version) / 10
[ô]Adiciona a referência do Word via GUID:
vbProj.References.AddFromGuid [Ô]{00020905-0000-0000-C000-000000000046}[Ô], 8, versao - 8
End Sub
Public Sub RemoveReferenciaWord()
[ô]Faz a referência ao projeto VBA
Dim vbProj As VBProject
[ô]A referencia em si
Dim chkRef As Reference
[ô]Seta a variável para o projeto da pasta de trabalho ativa.
vbProj = ActiveWorkbook.VBProject
For Each chkRef In vbProj.References
[ô]Verifica se a referência é do Word:
If chkRef.GUID = [Ô]{00020905-0000-0000-C000-000000000046}[Ô] Then
[ô]Se for, remove
vbProj.References.Remove(chkRef)
End If
Next
End Sub
[/txt-color]
Tenho muita experiência no VBA do Excel, e costumava usar referências dinâmicas, que facilitavam no momento em que os usuários usavam o mesmo aplicativo em versões diferentes do Office.
Agora, estou desenvolvendo um projeto em VB6, mas não estou conseguindo deixar a referência que estou usando (Word) dinâmica.
Acho que não vira gerar um executável para cada versão, né........
Alguém pode me ajudar?
Abaixo, o código que usava no VBA:
[txt-color=#0000f0]Public Sub AdicionaReferenciaWord()
[ô]Faz a referência ao projeto VBA
Dim vbProj As VBProject
[ô]A referencia em si
Dim versao As Long
[ô]Seta a variável para o projeto da pasta de trabalho ativa.
vbProj = ActiveWorkbook.VBProject
[ô]Pega a versão atual do Office e corrige a variável
versao = CLng(Application.Version) / 10
[ô]Adiciona a referência do Word via GUID:
vbProj.References.AddFromGuid [Ô]{00020905-0000-0000-C000-000000000046}[Ô], 8, versao - 8
End Sub
Public Sub RemoveReferenciaWord()
[ô]Faz a referência ao projeto VBA
Dim vbProj As VBProject
[ô]A referencia em si
Dim chkRef As Reference
[ô]Seta a variável para o projeto da pasta de trabalho ativa.
vbProj = ActiveWorkbook.VBProject
For Each chkRef In vbProj.References
[ô]Verifica se a referência é do Word:
If chkRef.GUID = [Ô]{00020905-0000-0000-C000-000000000046}[Ô] Then
[ô]Se for, remove
vbProj.References.Remove(chkRef)
End If
Next
End Sub
[/txt-color]
acho que a solução é simples, as versões mais recentes não rodam nas versões antigas, porém as versões antigas rodam nas versões mais recente, então crie seu programa em uma versão mais antiga do OFFICE e teste nas versões mais novas, sugiro o Office 2000 ou XP
Tópico encerrado , respostas não são mais permitidas