vbs 6.0 da exe uzantılı dosyayı nasıl çalıştırırız?

Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn hocalarım hayırlı sabahlar
yine vbs 6.0 ile ilgili bir sorum olacak
Call Shell("C:\boxworld.exe", 1)
kodu ile exe uzantılı dosyayı çalıştırabiliyorum. ancak ben programın başladığı yerdeki sürücüyü seçmesini istiyorum. denedim ama yapamadım. yani c:\ yerine program hangi sürücüde ise o sürücüyü alsın.
Call Shell(this.path & "\boxworld.exe", 1)
olarak denedim ama olmadı.
bu konuda yardımcı olabilirmisiniz?

yardımcı olacak arkadaşlara sonsuz teşekkürler.

saygılar:yardim:
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Aşağıdaki şekilde deneyin
App.Path
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu sorun path ile çözülemez bence, çünkü path açık olan bir dosya veya programın yolunu bulmak için kullanılır. Sorunun çözümü için öncelikle exe yi tüm pcde arayan ve yolunu tespit eden bir kodlama kullanmak gerekir diye düşünüyorum. Aşağıdaki kodu deneyin.

Kod:
Sub calistir()
For Each surucu In CreateObject("Scripting.FileSystemObject").Drives
deg = CreateObject("Scripting.FileSystemObject").GetDrive(surucu & "\").DriveType
If deg <> 2 Then GoTo 10
With Application.FileSearch
     .NewSearch
     .LookIn = surucu & "\"
     .SearchSubFolders = True
     .Filename = "boxworld.exe"
If .Execute(msoSortByNone, msoSortOrderAscending, True) > 0 Then
Shell surucu & "\" & "boxworld.exe", 1
Exit Sub
End If
End With
10 Next
End Sub
Not: Daha pratik bir &#231;&#246;z&#252;m varsa payla&#351;man&#305;z&#305; rica ederim.
 
Katılım
13 Haziran 2006
Mesajlar
374
Excel Vers. ve Dili
Excel 2003 Türkçe
Matematik Öğretmeni VB,Excel-VBA,...
sn hocalar&#305;m hay&#305;rl&#305; sabahlar
yine vbs 6.0 ile ilgili bir sorum olacak
Call Shell("C:\boxworld.exe", 1)
kodu ile exe uzant&#305;l&#305; dosyay&#305; &#231;al&#305;&#351;t&#305;rabiliyorum. ancak ben program&#305;n ba&#351;lad&#305;&#287;&#305; yerdeki s&#252;r&#252;c&#252;y&#252; se&#231;mesini istiyorum. denedim ama yapamad&#305;m. yani c:\ yerine program hangi s&#252;r&#252;c&#252;de ise o s&#252;r&#252;c&#252;y&#252; als&#305;n.
Call Shell(this.path & "\boxworld.exe", 1)
olarak denedim ama olmad&#305;.
bu konuda yard&#305;mc&#305; olabilirmisiniz?

yard&#305;mc&#305; olacak arkada&#351;lara sonsuz te&#351;ekk&#252;rler.

sayg&#305;lar:yardim:

vbs 6.0 derken galiba Visual Basic 6.0 (VB 6) dan bahsediyorsunuz.Levent Bey in verdi&#287;i kodlar&#305; denedim desem yalan olur.Fakat i&#351;i biraz daha k&#305;saltmaya &#231;al&#305;&#351;acam.VB6 da exceldekin farkl&#305; olarak kodla yol bulmak yerine DriveListBox - DirListBox ve FileListBox nesnelerini hemen sa&#287; taraftaki toolbox ta g&#246;receksiniz.
DriveListBox : S&#252;r&#252;c&#252; listeleme
DirListBox : Se&#231;ti&#287;iniz s&#252;r&#252;c&#252; deki klas&#246;rleri listeleme
FileListBox : Se&#231;ti&#287;iniz klas&#246;rdeki dosyalar&#305; listelemek i&#231;in kullan&#305;l&#305;r.
K&#252;&#231;&#252;k bir &#246;rnek:
Formunuza 1 DriveListBox - 1 DirListBox -1 FileListBox ve birde Combobox ekleyin.A&#351;a&#287;&#305;daki kodlar&#305; yap&#305;&#351;t&#305;r&#305;n:
Kod:
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive 's&#252;r&#252;c&#252; se&#231;iyoruz se&#231;ti&#287;imiz s&#252;r&#252;c&#252; i&#231;eri dirliste aktar&#305;l&#305;yor
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path 'klas&#246;r se&#231;imi,se&#231;ilen klas&#246;r i&#231;eri&#287;i fileliste aktar&#305;l&#305;yor.
End Sub
Private Sub Combo1_Click()
File1.Pattern = Combo1.Text 'combo de&#287;i&#351;ti&#287;inde listeleme de&#287;i&#351;sin
End Sub
Private Sub Form_Load()
Combo1.AddItem "*.exe" ' uzant&#305; belirterek s&#305;ralatmak i&#231;in
Combo1.AddItem "*.bmp"
Combo1.ListIndex = 1 'hangi dosya tipinden ba&#351;layaca&#287;&#305;n&#305; belirliyoruz
File1.Pattern = Combo1.Text 'belirledi&#287;imiz dosya tipini filelistte s&#305;ral&#305;yor
End Sub
Private Sub File1_Click()
Call Shell(File1.FileName) 'Filelistte se&#231;ti&#287;imiz dosyay&#305; &#231;al&#305;&#351;t&#305;rmak i&#231;in
                           'bunun de&#287;i&#351;ik y&#246;ntemleri var elbette ara&#351;t&#305;r&#305;n
End Sub
San&#305;r&#305;m bu nesneleri kullanmak i&#351;inizi kolayla&#351;t&#305;racakt&#305;r.B&#246;ylece istedi&#287;iniz .exe uzant&#305;l&#305; dosyay&#305; &#231;al&#305;&#351;t&#305;rma imkan&#305;na sahip olacaks&#305;n&#305;z.

E&#287;er program&#305;n&#305;z sabit bir yerde ve .ex uzant&#305;l&#305; dosyan&#305;zda program&#305;n i&#231;inde ve oda sabitse kodlar&#305;n&#305;z&#305; &#351;u &#351;ekilde d&#252;zenlemeniz yeterli olacakt&#305;r.
Kod:
Call Shell(App.Path & "\boxworld.exe", 1)

____________________
D&#304;&#286;ER &#199;ALI&#350;MALAR

USERFORM G&#214;R&#220;N&#220;MLER&#304;
&#214;&#286;RENC&#304; TAK&#304;P PROGRAMI(Excel ile Access VeriTaban&#305; Uygulamas&#305;)
K&#304;ML&#304;K SORGULAMA(web &#252;zerinden)
____________________
 
Son düzenleme:
Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
arkadaşım bak şimdi şu kısa makroyu dene bir örnek vereyim sen kendine göre uyarla

Sub calc()
appID = Shell("c:\Windows\system32\calc.exe")
AppActivate appID
End Sub

bu hesap makinasını çalıştırmak içindir:arkadas:
inşallah yaralı olur...
emeğe saygı
 
Üst