• DİKKAT

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

Sadece sabit sürücüleri almak.

Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Merhaba, aşağıdaki kod ile bilgisayardaki dvd dahil tüm sürücüler comboboxa alınıyor. Sadece sabit sürücüleri almak için nasıl bir kod gerekli?
Tüm sürücüler için kod;

On Error Resume Next
Dim cat, drv
Set cat = CreateObject("Scripting.FileSystemObject")
Set drv = cat.Drives
For Each surucu In drv

ComboBox1.AddItem surucu
Next
İlgilenen arkadaşlara teşekkür ederim.
 
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub UserForm_Initialize()
    Dim FSO, Surucular, Sabit_Surucu
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Suruculer = FSO.Drives
    For Each Sabit_Surucu In Suruculer
        On Error GoTo 10
        If Not IsError(Sabit_Surucu.VolumeName) Then
            If Sabit_Surucu.DriveType = 2 And Sabit_Surucu.VolumeName = "" Then
                ComboBox1.AddItem Sabit_Surucu
            End If
        End If
10  Next
End Sub
 
Merhaba sayın Korhan Ayhan,
İlginize teşekkür ederim.
"If Not IsError(Sabit_Surucu.VolumeName) Then" satırında hata veriyor.
 
Kendi sistemimde denedim ve hata ile karşılaşmadım.

Sistemimde aşağıdaki sürücüler var...

2 Sabit disk (C,D)
1 CdRom
1 Flashdisk
1 Harici HDD

Yinede bahsettiğiniz satırı silerek bir örnek dosya hazırladım. İnceleyiniz.
 

Ekli dosyalar

Merhaba Korhan bey,
Ekli dosyanızı çalıştırıyorum. Şimdi de
If Sabit_Surucu.DriveType = 2 And Sabit_Surucu.VolumeName = "" Then
satırında hata veriyor.Diskin hazır olmadığı şeklinde tercüme ettiğim hata :"Disk not ready " 32 bit işletim sistemi ile veya referanslarla ilgili olabilir mi acaba?
 
Alternatif kod

Kod:
Private Sub UserForm_Initialize()
Dim ds
Set ds = CreateObject("Scripting.FileSystemObject")
For Each sürücü In ds.Drives
If ds.GetDrive(sürücü).DriveType = 1 Then
ComboBox1.AddItem sürücü
ElseIf ds.GetDrive(sürücü).DriveType = 2 Then
ComboBox1.AddItem sürücü
End If
Next
End Sub
 
Merhaba sayın halit3,
Kod çalışıyor ancak c ve d sürücülerinden başka çıkarılabilir I sürücüsünü de alıyordu.
Private Sub UserForm_Initialize()
Dim ds
Set ds = CreateObject("Scripting.FileSystemObject")
For Each sürücü In ds.Drives
If ds.GetDrive(sürücü).DriveType = 2 Then
ComboBox1.AddItem sürücü
End If
Next
End Sub
şeklinde değişiklik yapınca sadece sabit sürücüleri alıyor.
İlginize teşekkür ederim.
 
Merhaba,

Halit beyin önerdiği kodu bende denedim. Sizin son mesajınızdaki gibi düzeltip denediğimde sistemimde takılı olan harici hdd de combobox nesnesinde listelendi. Yani (C,D,F) sürücüleri listelendi. Ben bunu engellemek için önerdiğim kodda "VolumeName" özelliğini eklemiştim. Fakat bu eklentide bende çalıştı. Fakat sizde sonuç vermedi. Sistemle ilgili bir sorun var sanırım.
 
Merhaba Korhan bey,
Çalıştığım ortamda harici harddisk olamadığı için çıkarılabilir bellek ve dvd sürücüyü esas alarak deneme yapmıştım. Kod bu haliyle bana yetiyor. Size ve sayın halit3'e ilgilerinizden dolayı tekrar teşekkür ederim. Esen kalın.
 
Geri
Üst