Makro ile Rdp yapabilme

Katılım
2 Ekim 2014
Mesajlar
74
Excel Vers. ve Dili
office 2014
Hayırlı günler
Excelde ilgili satırlara rdp bilgileri yazılarak satır sonunda bağlan düğmesi ile belirlenen bilgilerle uzak masa üstü bağlantısı yapılması mümkün müdür?

mekan - ip - port - Kullanıcı - Şifre
11 - 212.156... - 3344 - deneme - 1234 = "rdp bağlan düğmesi"
12 - 212.156... - 3345 - deneme2 - 12345 = "rdp bağlan düğmesi"


Alttaki kodda, koda eklenen ip ile uzak bağlantı yapılıyor ama bilgileri seçilen satırlardan almasını istiyorum.
Yardımcı olursanız çok sevinirim.
Kod:
Sub Düğme1_Tıklat()
 
Dim RetVal As Variant

prg = "c:\windows\system32\mstsc.exe /v:212.156....:3344 /admin /f"

RetVal = Shell(prg, 1)

End Sub
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Hem seçilen satırdan bilgiyi alsın diyorsunuz, hem de düğme kullanmak istiyorsunuz.

Sayfanın 1'inci satırı başlık ve bilgileriniz A:E sütun aralığında ise;
madem satırı seçeceksiniz, bence ilgili satırda örneğin F sütununa çift tıklayarak gitmek daha pratik olur.
Bağlanılacak ip numarasını hücreden almak için (hücreden alacağınız başka bilgi varsa onları da alabilirsiniz) aşağıdaki gibi bir şey düşünülebilir.

Aşağıdaki kod'da kendinize göre düzeltme yaparsınız.
Aşağıdaki kod çift tıklanan hücre 1'nci satırda ise, F sütunu dışında ise ve E sütununun boş olduğu bir satırda ise işlem yapmaz.
Yani örneğin 5'inci satırda verdiğiniz örnekteki gibi bilgiler varsa F5 hücresine çift tıkladığınızda kod çalışırak B5 hücresindeki ip numarasına bağlanması lazım.

Mevcut kod'unuz, prg diye başlayan satırdaki bilgiyle istediğiniz makineye bağlanmanızı sağlıyorsa aşağıdaki gibi olabilir.
Benim deneme şansım yok. Siz deneyerek yapabilirsiniz sanırım.
.
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
If Intersect(Target, [[B][COLOR="blue"]F:F[/COLOR][/B]]) Is Nothing Then Exit Sub
If Cells(Target.Row, "E") [COLOR="red"]= ""[/COLOR] Or Target.Column <> [COLOR="red"]6[/COLOR] Or [COLOR="red"]Target.Row = 1[/COLOR] Then Exit Sub
Dim RetVal As Variant
    [COLOR="Blue"]parça1[/COLOR] = "c:\windows\system32\mstsc.exe /v:"
    [COLOR="blue"]parça2[/COLOR] = Cells(Target.Row, [B][COLOR="blue"]"B"[/COLOR][/B]).Value
    [COLOR="blue"]parça3[/COLOR] = " /admin /f"
prg = parça1 & parça2 & parça3
RetVal = Shell(prg, 1)
End Sub
 
Katılım
2 Ekim 2014
Mesajlar
74
Excel Vers. ve Dili
office 2014
ömer bey, öncelikle emeğinize sağlık. ilginize çok teşekkür ederim.

Verdiğiniz kod şöyle çalışıyor. B2 deki ip adresini rdp ye yazarak programı çalıştırıyor.
Verdiğiniz koda ek olarak parça kısmına c2 yide ekleyerek "port" bilgisinide ekledim.

fakat kullanıcı adı ile şifre kısmında problem oluyor.
Bu iki sütunu mstsc uygulamasına nasıl ekleyeceğim.
.
microsofttan incelediğim zamanda sanırım bunun mümkün olmadığını görebiliyorum.
alttaki koda göre düzenlenebilir yazıyor ve burada kullanıcı adı gibi bir alan göremedim

Kod:
 mstsc.exe [<Connection File>] [/v:<Server>[:<Port>]] [/admin] [/f]
[/w:<Width> /h:<Height>] [/public] [/span] mstsc.exe /edit <Connection File>
mstsc.exe /migrate
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
.......
Mevcut kod'unuz, prg diye başlayan satırdaki bilgiyle istediğiniz makineye bağlanmanızı sağlıyorsa aşağıdaki gibi olabilir.....
....Verdiğiniz kod şöyle çalışıyor. B2 deki ip adresini rdp ye yazarak programı çalıştırıyor.
Verdiğiniz koda ek olarak parça kısmına c2 yide ekleyerek "port" bilgisinide ekledim.
fakat kullanıcı adı ile şifre kısmında problem oluyor.
Bu iki sütunu mstsc uygulamasına nasıl ekleyeceğim.......
Tekrar merhabalar, bu tür olaylarla hiç ilgilenmedim ve verdiğim önceki cevabımda da koşullu cümle kurmuşum zaten.
Sorununuzla ilgili malesef hiçbir fikrim yok. Bilgisi olan üyeler destek vereceklerdir.
 
Üst