vbs ile program açma kapama komutu

1 2
01/05/2012, 13:02

karabattak

arkadaşlar merhaba
access ile yapılmış olan bir programını vbscript ile bu kodu yazarak

Sub Klasor_Kopyala()
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

fso.copyfolder "C:\kaynak_klasör", "C:\hedef_klasör"
msgbox "Güncelleme Yapıldı "
End Sub
call klasor_kopyala
güncelleyebiliyorum. bu kod kaynak dizinden güncel versiyonu kullanıcıların kullandığı hedef klasöre başarılı şekilde kopyalıyor.

sorum şu vbscript kodunda bir programı açma yada kapatma komutu varmıdır.
amacım accesime bir buton atasam bu buton vbscirpt'i çalıştırsa ama önce accessimi kapatsa sonra yukarıdaki kod devreye girse programın güncel sürümünü klasöre kopyalasa en sonda güncel Access dosyamı açsa
bu konuda bilgisi olan arkadaşlardan yardım rica ediyorum.
şimdiden cevap vereceklere teşekkür ederim.
01/05/2012, 15:39

mehmetdemiral

Kapatmak için


Set objShell = CreateObject("WScript.Shell")
Set objWmi = GetObject("winmgmts:")


strWmiq = "select * from Win32_Process where name='Msaccess.exe'"
Set objQResult = objWmi.Execquery(strWmiq)


For Each objProcess In objQResult
intRet = objProcess.Terminate(1)
Next

Açmak için:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Program Files\Microsoft Office\Office14\msaccess.exe"

Bunu denemedim ama bu şekilde çalışması lazım. Bu arada Access için sizde geçerli olan yolu yazarsınız. Ben 2010 için office14 yazdım ama sizdeki versiyon ya da kurulum yeri farklı olabilir.
02/05/2012, 01:32

karabattak

(01/05/2012, 15:39)mehmetdemiral yazdı: Kapatmak için


Set objShell = CreateObject("WScript.Shell")
Set objWmi = GetObject("winmgmts:")


strWmiq = "select * from Win32_Process where name='Msaccess.exe'"
Set objQResult = objWmi.Execquery(strWmiq)


For Each objProcess In objQResult
intRet = objProcess.Terminate(1)
Next

Açmak için:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Program Files\Microsoft Office\Office14\msaccess.exe"

Bunu denemedim ama bu şekilde çalışması lazım. Bu arada Access için sizde geçerli olan yolu yazarsınız. Ben 2010 için office14 yazdım ama sizdeki versiyon ya da kurulum yeri farklı olabilir.


Sn. Mehmet Demiral hocam
cevap için teşekkür ederim.
ilk yazdığınız kod Access programını kapatıyor. bunda sorun yok.
ikinci yazdığınız kod ise sadece Access programını çalıştırıyor.
aslında şöyle bir komut varmı vbscript'de
c:\klasöradi\örnek.mdb bu dosyamın adı olsun
komut ile bu dosya açılabilirmi?
tekrardan teşekkür ederim.
02/05/2012, 17:07

mehmetdemiral

Sanırım şöyle olabilir:

WshShell.Run "C:\Program Files\Microsoft Office\Office14\msaccess.exe /c:\ornek\ornek.mdb"

Bir deneyin. Bu açma kodu bende çalışmadı, sizde accessi açtı mı? Ben arşivimden bu kodu alıp gönderdim, deneyememiştim. Şimdi denedim bende çalışmadı. Sizde durum ne? Bir de son yazdığımı bir deneyin bakalım. Bat dosyalarında ve RDP işlemlerinde böyle yapıyoruz, vbs'de de aynen olabilir.
03/05/2012, 01:59

karabattak

(02/05/2012, 17:07)mehmetdemiral yazdı: Sanırım şöyle olabilir:

WshShell.Run "C:\Program Files\Microsoft Office\Office14\msaccess.exe /c:\ornek\ornek.mdb"

Bir deneyin. Bu açma kodu bende çalışmadı, sizde accessi açtı mı? Ben arşivimden bu kodu alıp gönderdim, deneyememiştim. Şimdi denedim bende çalışmadı. Sizde durum ne? Bir de son yazdığımı bir deneyin bakalım. Bat dosyalarında ve RDP işlemlerinde böyle yapıyoruz, vbs'de de aynen olabilir.

Mehmet hocam

WshShell.Run "C:\Program Files\Microsoft Office\Office14\msaccess.exe /c:\ornek\ornek.mdb"
yukarıdaki kod çalışmadı maalesef ama fikir verdi bana kodu aşağıdaki gibi yazınca istediğim mdb uzantılı dosyayı açabildim.

'burası msaccess.exe yi açıyor

set calistir = createobject("wscript.shell")
calistir.run "msaccess.exe"

'bu kod 1 saniye bekletiyor

wscript.sleep(1000)

'bu kod ilgili örnek.mdb dosyamızı açıyor.

set calistir = createobject("wscript.shell")
calistir.run "c:\örnek.mdb"

ilginiz için teşekkür ederim.
saygılar.
09/09/2018, 16:47

userx

(03/05/2012, 01:59)karabattak yazdı: Ben de bir buton ekleyip aşağıdaki komutla hallettim. Belki işinize yarar.
Private Sub Komut107_Click() 

Dim dosyaac As String
dosyaac = "MSACCESS.EXE C:\örnek.accdb"
Call Shell(dosyaac, 1)

End Sub
1 2