Tenho uma coluna de servidores e gostaria de colocar um link adjacente que iniciará a área de trabalho remota. Há duas macros abaixo e a segunda inicia conforme o esperado. A primeira não. Ela exibe uma mensagem dizendo "Referência inválida" e tenta abrir o RDP duas vezes (ele endereça o servidor correto).
Sub StartRDP(serverName As String)
If serverName <> "" Then
Shell "mstsc.exe /v:" & serverName, vbNormalFocus
End If
End Sub
Sub StartRDP2()
Shell "mstsc.exe /v:Server1", vbNormalFocus
End Sub
Aqui está o conteúdo da minha célula:
=HYPERLINK("#StartRDP(" & CHAR(34) & (D4) & CHAR(34) & ")", "test")
Quando clico no link, aparece o pop-up "Referência não é válida" e então o RDP abre duas vezes.
De acordo com https://superuser.com/questions/1492204/create-links-to-rdp-servers-in-excel , o link direto no Windows não funciona. Testei seu código e recebi o mesmo erro que você.
Mas você pode adicionar ao código VBA que você forneceu o seguinte:
Com isso, você pode ter nomes de servidores listados em D1 - D4 e, quando qualquer uma dessas células for clicada, uma sessão RDP será iniciada.