• DİKKAT

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

Soru Disk seri numarasına göre seç

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Dim objFso As Object
Dim Drv As Object
Dim PC_drv As String
DiskserialNumber = 1186503776
Set objFso = CreateObject("Scripting.FileSystemObject")
For Each Drv In objFso.Drives
If Drv.IsReady Then
If Drv.serialnumber = DiskserialNumber Then
'MsgBox "Disk Bölümü=" & Drv.Driveletter
PC_drv = Drv.Driveletter
Else
'MsgBox "Bu seri numaralı bir disk bulunamadı"
End If
End If

Next
MsgBox PC_drv

Bu kod ile DiskserialNumber = 1186503776 eşit olan sürücünün adını PC_drv değişkenine alıyoruz.

Yapmak istediğim ;

DiskserialNumber = 1186503776
DiskserialNumber = 8186503777
DiskserialNumber = 6186503778

bu üç şarta göre sürücü adını nasıl alabiliriz.?

Not:

* Üç diskinde aynı anda bağlı olma durumu yoktur...
* Aynı anda iki disk bağlı olabilir, yada bir disk...
* iki disk bağlı ise Diskserialnumber=8186503777 olan seçilsin...


yardımcı arkadaşa şimdiden teşekkür ederim.
 
Merhaba.

Else satırından önce Exit For satırı ekleyerek denediniz mi?
.
 
Merhaba ne yapmak istediğinizi anlamadım ama bunu bir deneyiniz.

Kod:
Private Sub CommandButton1_Click()
Dim objFso As Object
Dim Drv As Object
Dim PC_drv As String
DiskserialNumber = 1186503776
Set objFso = CreateObject("Scripting.FileSystemObject")
For Each Drv In objFso.Drives
If Drv.IsReady Then
If Drv.serialnumber = DiskserialNumber Then
MsgBox Drv.serialnumber
PC_drv = Drv.Driveletter
GoTo atla
End If
End If

Next

MsgBox "Bu seri numaralı bir disk bulunamadı"
Exit Sub
atla:
MsgBox PC_drv
End Sub
 
Kod:
Sub test()
    Dim objFso As Object
    Dim Drv As Object
    Dim PC_drv As String

    Set objFso = CreateObject("Scripting.FileSystemObject")
    For Each Drv In objFso.Drives
        If Drv.IsReady Then
            Select Case Drv.serialnumber
            Case "8186503777"
                PC_drv = Drv.Driveletter
                Exit For
            Case "1186503776", "6186503778"
                PC_drv = Drv.Driveletter
                bulundu = True
            Case Else
                If bulundu = False Then PC_drv = "İstenen Diskler Mevcut Değil"
            End Select
        End If
    Next

    MsgBox PC_drv

End Sub
 
Son düzenleme:
veyselemre;

Biraz geç cevapladım özür..;

Hocam çok teşekkür ediyorum. Tamamdır... Elinize sağlık.
 
halit3;

Hocam küçük bir exe dosyasının yolunu belirtmek için gerekliydi. İlginiz için teşekkürler.
 
Ömer BARAN;

Bir kaç deneme yaptım ama tam istediğim sonucu alamamıştım. Teşekkürler.
 
Arada bir de olsa, CEVAPLANMAMIŞ KONULAR bölümüne uğramamın faydası oldu ve
iyiki cevap yazmışım, neticede sonuca ulaşıldı.
Kolay gelsin.
 
FSO' nun döndürdüğü disk serial number, fiziksel numara değildir ve sonraki temiz windows yüklemesinde (format) değişecektir.
Bu durumda ne yapmayı düşünüyorsunuz?
 
FSO' nun döndürdüğü disk serial number, fiziksel numara değildir ve sonraki temiz windows yüklemesinde (format) değişecektir.
Bu durumda ne yapmayı düşünüyorsunuz?
O zaman serino ları değiştirir , Programı güncellerim. Yalnız nasıl fiziksel değil onu anlamadım ? Format neye göre değişir ?
 
Son düzenleme:
Geri
Üst