Preciso fazer meu programa acessar uma variável que esta dentro de um outro aplicativo usando DDE. Um amigo me enviou um exemplo em Excel que faz exatamente o que eu quero usando uma macro e funciona perfeitamente.
Meu problema é que preciso fazer isso em VB e não esta funcionando, coloquei a mesma rotina da macro com algumas alterações de adaptação mas sempre quando eu exeto da o erro '424' (Object required).
Segue abaixo a rotina da macro e em seguida a minha rotina.
'rotina que esta na macro do Excel (funcionando)
Private Sub CommandButton1_Click()
Dim ActiveCell As Object
Set ActiveCell = ActiveSheet.Cells(1, 1)
ABC = Application.DDEInitiate("dbsr", "pcim") 'inicia a comunicação
Application.DDEPoke ABC, "A:21", ActiveCell 'escreve o valor
Application.DDETerminate ABC 'encerra a comunicação
End Sub
'rotina que estou usando no VB (com problema)
Private Sub Command1_Click()
'ABC é uma variavel qualquer que vai receber o numero
'do canal DDE e pcim é o nome do programa no qual eu
'quero me conectar
ABC = Application.DDEInitiate("dbsr", "pcim") 'inicia a comunicação
'a:21 é uma variavel de sistema que eu quero acessar
'dentro do pcim e 100 é o valor que eu quero escrever nela
Application.DDEPoke ABC, "a:21", Str$(100) 'escreve o valor
Pergunta
Guest REGISCRUZ
Olá pessoal por favor, me ajudem......
Preciso fazer meu programa acessar uma variável que esta dentro de um outro aplicativo usando DDE. Um amigo me enviou um exemplo em Excel que faz exatamente o que eu quero usando uma macro e funciona perfeitamente.
Meu problema é que preciso fazer isso em VB e não esta funcionando, coloquei a mesma rotina da macro com algumas alterações de adaptação mas sempre quando eu exeto da o erro '424' (Object required).
Segue abaixo a rotina da macro e em seguida a minha rotina.
'rotina que esta na macro do Excel (funcionando)
Private Sub CommandButton1_Click()
Dim ActiveCell As Object
Set ActiveCell = ActiveSheet.Cells(1, 1)
ABC = Application.DDEInitiate("dbsr", "pcim") 'inicia a comunicação
Application.DDEPoke ABC, "A:21", ActiveCell 'escreve o valor
Application.DDETerminate ABC 'encerra a comunicação
End Sub
'rotina que estou usando no VB (com problema)
Private Sub Command1_Click()
'ABC é uma variavel qualquer que vai receber o numero
'do canal DDE e pcim é o nome do programa no qual eu
'quero me conectar
ABC = Application.DDEInitiate("dbsr", "pcim") 'inicia a comunicação
'a:21 é uma variavel de sistema que eu quero acessar
'dentro do pcim e 100 é o valor que eu quero escrever nela
Application.DDEPoke ABC, "a:21", Str$(100) 'escreve o valor
'Aqui eu encerro minha comunicação DDE
Application.DDETerminate ABC
End Sub
Por favor, me ajudem....
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.