Kayıt Tarihi: 26.03.2008
Toplam 223 konu açtı.
Toplam 538 yorum yaptı.
Toplam
39
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2010 TR,
Beğeniler: 0 / 4
merhaba vba ile bir uygulamayı bilgisayar açıldığında çalışmasını nasıl ayarlıyabilirim acaba
bilgisayar her açıldığında açılsın
Kayıt Tarihi: 01.01.2009
Toplam 150 konu açtı.
Toplam 5.511 yorum yaptı.
Toplam
261
puanı bulunmakta.
Beğeniler: 10 / 76
Merhaba hedefkaya
Öncelikle bilgisayarın her açılışında uygulamanızın açılmasını istiyorsanız, öncelikle bir bat dosyası hazırlamanız geekir. daha sonra bu bat dosyasını Windowssun Görev yöneticisinde bulunan Başlangıç kısmına atmanız gerekiyor.
Bat Dosyası Örneği (Windowsun not defterinde yazıp uzantısını bat olarak değiştirin)
Visual Basic @echo off start "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" "D:\Access\Programlar\ProgramAdı.accdb"
Yalnız yukarıdaki satırı Windows ve Office versiyonlarına göre düzenlemeniz gerekiyor.
Kayıt Tarihi: 26.03.2008
Toplam 223 konu açtı.
Toplam 538 yorum yaptı.
Toplam
39
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2010 TR,
Beğeniler: 0 / 4
Aşağıdaki kod ile istediğimiz dosyayı açılışta başlıyacak şekilde ayarlıyabiliyoruz veya iptal edebiliyoruz
fakat ben kullanamadım
c:\test.mdb dosyasını açılışa nasıl ekliyebilirim acaba
SaveSetting App.EXEName, "start", "autoBoot", chkStartwithWindows
DoStartUp App.Path & "\" & App.EXEName & ".exe", App.EXEName
modül
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
'Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function CopyFile Lib "Kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_SZ = 1
Private Const KEY_WRITE = 131078
Public Function DoStartUp(Filename As String, Discription As String)
Dim hKey As Long
RegOpenKeyEx HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run-", 0, KEY_WRITE, hKey
RegDeleteValue hKey, Discription
RegCloseKey hKey
RegOpenKeyEx HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE, hKey
RegSetValueEx hKey, Discription, 0, REG_SZ, Filename, Len(Filename)
RegCloseKey hKey
End Function
Public Function DoNotStartUp(Filename As String, Discription As String)
Dim hKey As Long
RegOpenKeyEx HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE, hKey
RegDeleteValue hKey, Discription
RegCloseKey hKey
RegOpenKeyEx HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run-", 0, KEY_WRITE, hKey
RegSetValueEx hKey, Discription, 0, REG_SZ, Filename, Len(Filename)
RegCloseKey hKey
End Function
Kayıt Tarihi: 01.01.2009
Toplam 150 konu açtı.
Toplam 5.511 yorum yaptı.
Toplam
261
puanı bulunmakta.
Beğeniler: 10 / 76
Visual Basic @echo off start "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" "C:\test.mdb"
Bu şekilde çalıştırabilirsiniz. Uzun kodlara gerek yok.
Kayıt Tarihi: 26.03.2008
Toplam 223 konu açtı.
Toplam 538 yorum yaptı.
Toplam
39
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2010 TR,
Beğeniler: 0 / 4
29-10-2021, 12:27
(En son düzenleme: 29-10-2021, 12:29 hedefkaya.)
(29-10-2021, 11:19)onur_can demiş ki: Visual Basic @echo off start "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" "C:\test.mdb"
Bu şekilde çalıştırabilirsiniz. Uzun kodlara gerek yok.
sayın onr_can
vba ile yapmam lazım bazen çalışacak bazen açılışta çalışmayacak bir sistem yapmam lazım
müşterilerime programda şartlar oluştuğunda bat dosyasını açılışa bırakın şartlar oluşmadıysa açılıştan silin demem pek mantıklı olmayacak
her seferinde test.mdb de çalışmayacak açılışta duruma göre bazen test mdb bazen başka mdb çalıştırmam lazım
yukardaki kodları uygulayabilirsem tablodakş veriye göre açılış dosyamı yonetebilirim.
Kayıt Tarihi: 24.03.2013
Toplam 27 konu açtı.
Toplam 9.087 yorum yaptı.
Toplam
1.089
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2013,
Beğeniler: 57 / 239
(29-10-2021, 12:27)hedefkaya demiş ki: her seferinde test.mdb de çalışmayacak açılışta duruma göre bazen test mdb bazen başka mdb çalıştırmam lazım
yukardaki kodları uygulayabilirsem tablodakş veriye göre açılış dosyamı yonetebilirim.
Visual Basic Option Compare Database #If VBA7 And Win64 Then 'Public Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long 'Public Declare ptrsafe Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean Private Declare PtrSafe Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Private Declare PtrSafe Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long Private Declare PtrSafe Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Private Declare PtrSafe Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Public Declare PtrSafe Function CopyFile Lib "Kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long #Else Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long 'Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Public Declare Function CopyFile Lib "Kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long #End If Private Const HKEY_LOCAL_MACHINE = &H80000002 Private Const REG_SZ = 1 Private Const KEY_WRITE = 131078 Function Yukle(Dosya As String, Aciklama As String, YapIs As Long) Const Yer As String = "Software\Microsoft\Windows\CurrentVersion\Run" Dim hKey, Sayac As Long For Sayac = 1 To 2 RegOpenKeyEx HKEY_LOCAL_MACHINE, Yer & IIf(YapIs = 1 And Sayac = 1, "-", IIf(YapIs = 2 And Sayac = 1, vbNullString, "-")), 0, KEY_WRITE, hKey If YapIs = 1 And Sayac = 1 Then RegDeleteValue hKey, Aciklama Else RegSetValueEx hKey, Aciklama, 0, REG_SZ, Dosya, Len(Dosya) MsgBox Dosya End If RegCloseKey hKey Next Sayac End Function
Visual Basic Sub dsz() '********* 1=Yukle 2=Sil ****************** Call Yukle("C:\Users\" & Environ("username") & "\Desktop\Proje.accdb", "Deneme",1) End Sub
sizin verdiğiniz kodlara göre önerimi yukarıdaki gibi düzenlemeye calistim, kendi uygulamanıza uyarlayabilirsiniz. hKey değişkeni hep sıfır(0) kalmakta olup, eylemi etkiler.
IKINCI YOL(Startup Klasörüne uygulama Taşıma)
Visual Basic Sub IkinciYol(Dosya, Klasor As String, Islem As Long) Dim Yol As String Yol = "C:\Users\" & Environ("username") & "\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" If Islem = 1 Then If Len(Dir(Yol, vbDirectory)) = 0 Then MkDir Yol FileCopy Klasor & "\" & Dosya, Yol & "\" & Dosya ElseIf Islem = 2 Then Kill Yol & "\" & Dosya End If End Sub
Visual Basic Sub dsz() '***** 1==> Yukleme ***** 2==> Silme ******** Call IkinciYol("Proje.accdb", "C:\Users\" & Environ("username") & "\Desktop", 1) End Sub
|