• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Shell ile başka bir programa geçmek

Katılım
7 Mayıs 2005
Mesajlar
35
Merhaba,
Ben shellexecute komutunu kullanarak makro üstünden başka bir programı çalıştırmak ve kullanıcı ismiyle şifreyi girdikten sonra sendkey ile bazı işlemler yaptıktan sonra makroya dönmek istiyorum.

Programı çalıştırdım ancak kullanıcı adı ve şifreyi girmem mümkün olmuyor. Bunun için "sendkey" kullanıyorum ama işe yaramıyor.

Yardımcı olursanız çok sevinirim.
 
Kullandığınız kodları yazarmısınız
 
Aşağıdaki değişik komutların hepsini denedim ama sonuç alamadım. Yani program çalışıyor ancak şifre vs. yazdıramıyorum.

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1
'-----------------------------------------
Sub datsrc()
'
Const SW_SHOWNORMAL = 1
'Shell "D:\Program Files\FS.exe", vbNormalFocus
'ShellExecute 0, "open", "D:\Program Files\FS.exe", "2345{ENTER}", 0, SW_MAXIMIZE
'Call Shell("D:\Program Files\FS.exe", vbNormalFocus)
hane = Shell("D:\Program Files\FS.exe", 1)
AppActivate hane
SendKeys "2345"
SendKeys "{ENTER}"
 
SendKeys metodu ile bu tip işler yapmak her zaman olumlu sonuçlar vermez.

Ama yine de, bir kere de aşağıdaki gibi deneyin....

Ã?nce SendKeys ile şifreyi yazdırma ve ENTER tuşunu gönderme satırlarını yazın, daha sonra Shell ile programı çağırma satırını yazın.
 
Ã?neriniz için teşekkür ederim ama çalışmadı.

İşin ilginci word programını açtırıp birkaç rakam yazdırmak istedim. O bile olmadı.
Demek ki sayfayı aktifleştiremiyorum. Yani program açılıyor ama üstünde çalışılamıyor.

Aslında çok basit bir iş olduğunu biliyorum. Bundan 6-7 ay önce yapmıştım. Bir eksik var ama bulamıyorum.
 
Sorun çözüldü. İlgilenen herkese teşekkür ederim.
"Sendkey" komutunun sonuna ",true" konulunca olay çözüldü.
 
Sn Cako'nun yanıtını görmeden yukardaki cevabı yazmıştım. Ama ona da isabetli önerisi için çok teşekkür ederim. Üç gündür bu basit çözümü bilmediğim için uğraştım durdum. Neyse ki internet ve internette de sizler varsınız. Sağolun...
 
Geri
Üst