Başlat Menüsü Programları Klasörünü Aç - Microsoft Excel


Başlat menüsündeki kısayolları barındıran Programs klasörünü açmaya yarayan alternatif bir koddur.

Kod


Option Explicit

Sub AllUsersKlasorunuAc()
    Dim ws As Object
    Set ws = CreateObject("WScript.Shell")
    
    MsgBox "All Users Klasörü Yolu " & vbCrLf & _
    ws.SpecialFolders("AllUsersPrograms")
    
    ws.Run Chr(34) & ws.SpecialFolders("AllUsersPrograms") & Chr(34), 1, False
        
    Set ws = Nothing
End Sub

Kod (Açıklamalı)


Option Explicit

Sub AllUsersKlasorunuAc()

    '--------------------------------------------------
    'Object tipinde bir nesne tanımladık.
    '--------------------------------------------------
    Dim ws As Object
    
    '--------------------------------------------------
    'Değişkenimize WScript.Shell ayarını çektik.
    '--------------------------------------------------
    Set ws = CreateObject("WScript.Shell")
    
    '--------------------------------------------------
    'Burada mesaj yoluyla klasörün tam yolunu
    'öğrenebiliyoruz. SpecialFolders() bize
    'bunu öğrenme imkanı veriyor.
    '--------------------------------------------------
    MsgBox "All Users Klasörü Yolu " & vbCrLf & _
    ws.SpecialFolders("AllUsersPrograms")
    
    '--------------------------------------------------
    'Burada da WScript.Shell aracılığıyla
    'klasörü açıyoruz. Run metodu aslında
    'komut çalıştırmaya yarıyor, biz burada
    'klasör açacak şekilde uyarlama yaptık.
    '
    'ws.Run (strCommand, [intWindowStyle], [bWaitOnReturn])
    '
    'Görüldüğü gibi üç parametreden oluşuyor.
    'İlk parametreye klasör yolunu girdik.
    '
    'İkinci parametrede pencerenin durumunu belirledik.
    'Int değer alan bir parametre bu.
    'Normalde 0'dan 10'a kadar seçenekler var ve 1.
    'seçenek klasörü açıyor, aktif hale getiriyor
    'ama pencere ebatlarına dokunmuyor.
    '
    'Üçüncü parametrede de uygulamamızın asenkron olarak
    'çalışıp çalışmaması hususunda karar vermemizi sağlıyor.
    'Varsayılan olarak (tanımlanmazsa) FALSE.
    '
    'Eğer TRUE olarak ayarlanırsa eğer önceden başlatılmış
    'uygulamayı kullanıcı durdurana kadar bizim Run
    'komutunu çalışmayı durduruyor ve kullanıcıya
    'ilgili hata mesajını döndürüyor.
    '
    'Eğer FALSE değere sahip ise önceden çalışan prosese
    'filan bakmadan çalışmaya devam ediyor. Hata mesajı
    'olarak da 0 kodlu hatayı döndürüyor.
    '--------------------------------------------------
    ws.Run Chr(34) & ws.SpecialFolders("AllUsersPrograms") & Chr(34), 1, False
    
    '--------------------------------------------------
    'İşimiz bittikten sonra nesne
    'örneğimizi RAM'den temizledik.
    '--------------------------------------------------
    Set ws = Nothing
End Sub

Yararlanılan Kaynaklar
Etiketler
microsoft excel açıklamalı içerik microsoft excel vba