Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
msgbox em rede
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
msgbox em rede
Olá Pessoal,
há como criar um msgbox em rede? Digo, um código vba que transmita uma mensagem a outro computador conectado na mesma rede?
O detalhe, o computador que irá receber a mensagem não possui MSExcel.
Obrigado, abs
há como criar um msgbox em rede? Digo, um código vba que transmita uma mensagem a outro computador conectado na mesma rede?
O detalhe, o computador que irá receber a mensagem não possui MSExcel.
Obrigado, abs
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: msgbox em rede
Wagner, bom dia. Tudo bem?
Bem, principal ponto sobre sua dúvida: a mensagem sempre vai precisar de um dispositivo/software que faça o gatilho (tipo um evento), para verificar determinada informação, mas que será exibida no mesmo equipamento deste dispositivo/software.
No caso, mesmo utilizando uma linguagem como Java ou Asp.Net, ou mesmo C#, precisa de alguma estrutura que analise uma variável e dispare uma mensagem. Não sei se consegui transmitir a ideia, mas vamos continuar.
Não sei exatamente qual é sua intenção, mas uma sugestão que poderia fazer é: de uma máquina (ex.: local no seu pc), enviar uma informação para um arquivo no servidor da rede (ex.: pode ser um simples txt). Em outra máquina (ex.: do seu supervisor, também conectado na rede), ter um VBScript rodando e avaliando esse arquivo, em busca de mudanças ou novas informações. Quando detectar uma situação diferente, esse Script irá disparar uma mensagem para o usuário, neste caso o supervisor.
Em resumo, somente com Excel e, principalmente em um computador sem o Office instalado, a coisa complica e, em um cenário como esse, a solução também se torna mais complicada.
Se quiser prosseguir com essa ideia, comece a estudar a estrutura de criação de scripts com VBScript (mesmas sintaxes do VBA), ou PowerShell (não conheço, mas tem sido a ferramenta do momento).
Abraços e excelente final de semana.
Bem, principal ponto sobre sua dúvida: a mensagem sempre vai precisar de um dispositivo/software que faça o gatilho (tipo um evento), para verificar determinada informação, mas que será exibida no mesmo equipamento deste dispositivo/software.
No caso, mesmo utilizando uma linguagem como Java ou Asp.Net, ou mesmo C#, precisa de alguma estrutura que analise uma variável e dispare uma mensagem. Não sei se consegui transmitir a ideia, mas vamos continuar.
Não sei exatamente qual é sua intenção, mas uma sugestão que poderia fazer é: de uma máquina (ex.: local no seu pc), enviar uma informação para um arquivo no servidor da rede (ex.: pode ser um simples txt). Em outra máquina (ex.: do seu supervisor, também conectado na rede), ter um VBScript rodando e avaliando esse arquivo, em busca de mudanças ou novas informações. Quando detectar uma situação diferente, esse Script irá disparar uma mensagem para o usuário, neste caso o supervisor.
Em resumo, somente com Excel e, principalmente em um computador sem o Office instalado, a coisa complica e, em um cenário como esse, a solução também se torna mais complicada.
Se quiser prosseguir com essa ideia, comece a estudar a estrutura de criação de scripts com VBScript (mesmas sintaxes do VBA), ou PowerShell (não conheço, mas tem sido a ferramenta do momento).
Abraços e excelente final de semana.
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
Re: msgbox em rede
Oi Mikel, obrigado pelo contato!
meu caro, pensei nessa solução, pois trabalho em duas máquinas, uma (PC1) dedicada para realizar uma atividade via msexcel, é um processo bem demorado e requer exclusividade, portanto uso outro computador para fazer outras atividades (PC2 que não tem office, apenas open office).
Eu pensei em criar um comando que sinalize na tela do PC2 o término da atividade no PC1.
Eu lembro que antigamente usava-se o net send e pelo que estudei agora existe o msg, mas não sei como usar este recurso em VBA.
Seguirei pesquisando, mas caso consigam me ajudar, obrigado!
abraços
meu caro, pensei nessa solução, pois trabalho em duas máquinas, uma (PC1) dedicada para realizar uma atividade via msexcel, é um processo bem demorado e requer exclusividade, portanto uso outro computador para fazer outras atividades (PC2 que não tem office, apenas open office).
Eu pensei em criar um comando que sinalize na tela do PC2 o término da atividade no PC1.
Eu lembro que antigamente usava-se o net send e pelo que estudei agora existe o msg, mas não sei como usar este recurso em VBA.
Seguirei pesquisando, mas caso consigam me ajudar, obrigado!
abraços
Re: msgbox em rede
Wagner.cwb,
Pode parecer bem rústico e grosseiro, mas se ambas as máquinas utilizam o Windows XP, pode-se adaptar o pc1 que tem excel para usar o comando NET SEND para disparar a mensagem. Se ambas utilizam Windows 7, pode-se utilizar o programa MSG.exe (nativo do S.O).
Alguma dessas alternativas lhe atendem?
Abs
Pode parecer bem rústico e grosseiro, mas se ambas as máquinas utilizam o Windows XP, pode-se adaptar o pc1 que tem excel para usar o comando NET SEND para disparar a mensagem. Se ambas utilizam Windows 7, pode-se utilizar o programa MSG.exe (nativo do S.O).
Alguma dessas alternativas lhe atendem?
Abs
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
Re: msgbox em rede
Olá Saulo, de repente o MSG.exe pode ajudar, pois ambas são W7.
Existe um código para ativá-lo?
Obrigado, abs!
Existe um código para ativá-lo?
Obrigado, abs!
Re: msgbox em rede
Wagner,
1) Primeiramente, altere a seguinte chave do seguinte registro em ambas as máquinas :
=> Abra o Editor do Registro.
=> No painel esquerdo, localize e clique na seguinte subchave de registo:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server
=> No painel direito, certifique-se de que o valor da chave AllowRemoteRPC seja 1. Se não, altere-o para 1.
=> Saia do Editor de registo e reinicie o computador.
2) Baixe o pacote pstools desse site https://download.sysinternals.com/files/PSTools.zip
3) Crie uma pasta em C: com o nome pstools na máquina que irá enviar o comando e extraia todos os arquivos para lá
Depois, na máquina que irá enviar o comando, copie e cole o código abaixo em um módulo dentro da planilha:
Ao final do código que executa a operação, adicione a chamada Call enviaConfirmacao.
A máquina que irá enviar a mensagem, deve ter uma conta com privilégios de administrador para enviar a mensagem.
Repare nesta linha e altere com os dados desta conta
oShell.Run ("cmd /c c:\pstools\psexec -u NomeUsuário -p SenhaUsuário cmd /c msg * /server:NomeDoPcDestino " & "Mensagem")
NomeUsuário = Usuário local
SenhaUsuário = Senha da conta (obrigatório)
NomeDoPcDestino = Nome NetBios (ex: pcbancada, servidor, ...) => Abra as propriedades do windows e na parte inferior você verá algo como : Nome do Computador = Nome
Trabalhoso, mas funciona!
Abs
1) Primeiramente, altere a seguinte chave do seguinte registro em ambas as máquinas :
=> Abra o Editor do Registro.
=> No painel esquerdo, localize e clique na seguinte subchave de registo:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server
=> No painel direito, certifique-se de que o valor da chave AllowRemoteRPC seja 1. Se não, altere-o para 1.
=> Saia do Editor de registo e reinicie o computador.
2) Baixe o pacote pstools desse site https://download.sysinternals.com/files/PSTools.zip
3) Crie uma pasta em C: com o nome pstools na máquina que irá enviar o comando e extraia todos os arquivos para lá
Depois, na máquina que irá enviar o comando, copie e cole o código abaixo em um módulo dentro da planilha:
Código: Selecionar todos
Sub enviaConfirmacao()
Dim oShell
'Criamos um objeto do WScript.Shell (WindowsScript command)
Set oShell = CreateObject("WScript.Shell")
'Enviamos o comando para o objeto e o executamos
oShell.Run ("cmd /c c:\pstools\psexec -u NomeUsuário -p SenhaUsuário cmd /c msg * /server:NomeDoPcDestino" & " " & "Mensagem")
'Limpamos da memória
'Set oShell = Nothing
End Sub
A máquina que irá enviar a mensagem, deve ter uma conta com privilégios de administrador para enviar a mensagem.
Repare nesta linha e altere com os dados desta conta
oShell.Run ("cmd /c c:\pstools\psexec -u NomeUsuário -p SenhaUsuário cmd /c msg * /server:NomeDoPcDestino " & "Mensagem")
NomeUsuário = Usuário local
SenhaUsuário = Senha da conta (obrigatório)
NomeDoPcDestino = Nome NetBios (ex: pcbancada, servidor, ...) => Abra as propriedades do windows e na parte inferior você verá algo como : Nome do Computador = Nome
Trabalhoso, mas funciona!
Abs
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
Re: msgbox em rede
Ótimo Saulo,
solicitei a autorização da Ti para a instalação do pstools, é a parte mais difícil do processo,
pois aqui é jogo duro para conseguir autorização, mas formalizei e agora é torcer para que aceitem.
Muito obrigado pelo seu tempo e dedicação em ajudar.
Retornarei para comunicar o resultado,
abs!
solicitei a autorização da Ti para a instalação do pstools, é a parte mais difícil do processo,
pois aqui é jogo duro para conseguir autorização, mas formalizei e agora é torcer para que aceitem.
Muito obrigado pelo seu tempo e dedicação em ajudar.
Retornarei para comunicar o resultado,
abs!
Re: msgbox em rede
Wagner,
Opa meu amigo! Espero que o setor de TI aprove a solicitção e que todo esse trabalho atenda sua necessidade.
Abs
Opa meu amigo! Espero que o setor de TI aprove a solicitção e que todo esse trabalho atenda sua necessidade.
Abs