Sürücü İsmi

Katılım
23 Kasım 2007
Mesajlar
245
Excel Vers. ve Dili
2003
Arkadaşlar Merhaba,
Bir Sürücünün İsmini Nasıl Okuyabiliriz

Ör. c sürücüsün ismini
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,345
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Yazdığınız kodu boş bir butonun tıklatıldığında olay yordamına yazdım ve sadece boş bir ileti görüntülüyor. ? ! ?
Saygılar, iyi çalışmalar.
Merhaba,

Sürücünün ismi istenmiş. Mesela, bendeki "D:\" sürüsünün ismi "DEPO" dur.
Yani "DEPO (D:\)" şeklinde.

Eğer sürücüye herhangi bir isim verilmediyse boş dönecektir.
 
Katılım
23 Kasım 2007
Mesajlar
245
Excel Vers. ve Dili
2003
Zeki Bey öncelikle teşekkür ederim benim bir sorunum var sürücü listesin döndürdüğümde okunamayan sürücülerde hata alıyorum
okunamayan sürücüleri nasıl es gecerim ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Emin değilim ama hata kontrol satırını eklerseniz es geçebilirsiniz.

1. Alternatif
Kod:
On Error Resume Next
2. Alternatif
Kod:
On Error Goto Son
 
Katılım
23 Kasım 2007
Mesajlar
245
Excel Vers. ve Dili
2003
Kod:
Dim TR
Dim surucu
Dim X
Dim y
Dim z
X = DLookup("[prk]", "sayi")
For Each Drives In fs.Drives
surucu = Drives.DriveLetter
surucu1 = surucu & ":\"
If Drives.DriveType = 1 And "YE" = z Then
z = CreateObject("Scripting.FileSystemObject"). _
        GetDrive(surucu1).VolumeName
Me.yolyaz = surucu
TR = Left(Trim(str(Abs(SeriNoAl(surucu & ":\")))) * 1234 + 48778902582457#, 4) & Right(Trim(str(Abs(SeriNoAl(surucu & ":\")))) * 1234 + 48778902582457#, 4) & Left(Trim(str(Abs(SeriNoAl(surucu & ":\")))) * 1234 + 2222222222222#, 4) & Right(Trim(str(Abs(SeriNoAl(surucu & ":\")))) * 1234 + 2222222222222#, 4)

If IsNull(DLookup("[prk]", "sayi")) Or Left(X, 14) <> Left(TR, 6) & Right(TR, 8) Then
stDocName = "proka"
DoCmd.OpenForm stDocName
Else
DoCmd.OpenForm "frmMnGiris"
End If
End If
Next Drives


DoCmd.SetWarnings False
stDocName = "yolyaz"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.SetWarnings True
Burda benim yaptığım bir usb diskin numarasını okumak ben Drives.DriveType = 1 And "YE" = z şeklinde sadece çıkartıla bilir ve adı YE olan diske düşmeye çalışıyorum ama olasılıklar içinde pc takılı ama okunamayan hafıza kartı yuvaları var bun larda bir surucu harfi alıyorlar ve hafıza kartı takılı olmadığı zaman okunamıyorlar ozaman "YE" = z bu kısım gümlüyor
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,345
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Merhaba,

Sorun, s&#252;r&#252;c&#252;n&#252;n okunmak i&#231;in haz&#305;r olup olmamas&#305;ndan kaynaklan&#305;yor san&#305;r&#305;m.

"GetReady" gibi bir &#246;zellikle denetlenebiliyor. Bu ve di&#287;er &#246;zellik ve metotlar&#305;n listesini g&#246;rebilemniz i&#231;in "FileSystemObject" nesnesinin de&#287;i&#351;kenini tan&#305;mlayarak deneyin.
&#304;lgili ref. dosyas&#305; "scrrun.dll"

De&#287;i&#351;keni de &#351;u &#351;ekilde tan&#305;mlayabilirsiniz.

Kod:
Dim fso as new Filesystemobject

'.
'.

Kolay gelsin..
 
Katılım
23 Kasım 2007
Mesajlar
245
Excel Vers. ve Dili
2003
de&#287;i&#351;keni tan&#305;mlad&#305;m ama i&#231;inde GetReady di&#351;e bir &#246;zellik yok
 
Katılım
23 Kasım 2007
Mesajlar
245
Excel Vers. ve Dili
2003
Arkada&#351;lar Merhaba,

Birs&#252;r&#252;c&#252;n&#252;n Okunabilirli&#287;ini nas&#305;l anlar&#305;z &#246;rnek kod la yard&#305;mc&#305; olursan&#305;z sevinirim
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın pcman,

Tam olarak ne yapmak istediğinizi anlayamadım. Bir de aşağıdaki kodları deneyin sanırım işinizi görecektir. (Sürücü adı bulma)

Kod:
 Private Declare Function QueryDosDeviceW Lib "kernel32.dll" ( _
    ByVal lpDeviceName As Long, _
    ByVal lpTargetPath As Long, _
    ByVal ucchMax As Long _
    ) As Long
    Const MAX_PATH = 260


Public Function GetNtDeviceName( _
   ByVal sDrive As String) As String

Dim bDrive() As Byte
Dim bResult() As Byte
Dim lR As Long
Dim sDeviceName As String

   If Right(sDrive, 1) = "\" Then
      If Len(sDrive) > 1 Then
         sDrive = Left(sDrive, Len(sDrive) - 1)
      End If
   End If
   bDrive = sDrive
  
   ReDim Preserve bDrive(0 To UBound(bDrive) + 2) As Byte
   ReDim bResult(0 To MAX_PATH * 2 + 1) As Byte
  
   lR = QueryDosDeviceW(VarPtr(bDrive(0)), VarPtr(bResult(0)), MAX_PATH)
   If (lR > 2) Then
      sDeviceName = bResult
      sDeviceName = Left(sDeviceName, lR - 2)
      GetNtDeviceName = sDeviceName
   End If
  
End Function

Sub Trial()
MsgBox GetNtDeviceName("p:")
End Sub
İyi çalışmalar
 
Katılım
23 Kasım 2007
Mesajlar
245
Excel Vers. ve Dili
2003
Sn Modal&#305; Te&#351;ekk&#252;r Ederim

Kodlar&#305; denedim s&#252;r&#252;c&#252;n&#252;n ad&#305;n&#305; de&#287;il de farkl&#305; karekterde bir&#351;eyler yaz&#305;yor

ama okunamayan s&#252;r&#252;c&#252;de hata vermiyor :)

tam olarak yapmaya &#231;al&#305;&#351;t&#305;&#287;&#305;m projeye bir &#231;&#305;kart&#305;labir disk yard&#305;m&#305;yla lisans anahtar&#305; olu&#351;rurmak yani &#231;&#305;kart&#305;labilir diskin serinosuyla lisans yapmaya &#231;al&#305;&#351;&#305;yorum

yapt&#305;&#287;&#305;m denemelerde Filesystemobject kulland&#305;m ama okunamayan disklerde hata &#252;retti okunamayan disklerden kast&#305;m pcye tak&#305;l&#305; haf&#305;za kart&#305; yuvalar&#305; haf&#305;za kart&#305; tak&#305;l&#305; olmad&#305;&#287;&#305;nda s&#252;r&#252;c&#252; haz&#305;r olmuyor

s&#252;r&#252;c&#252;n&#252;n okuna bilirli&#287;ini denetliyebilirsem sadece &#231;&#305;kart&#305;labilir disklere d&#252;&#351;&#252;p ordanda okunabilir disklerden ad&#305; x olan&#305;n serinosunu al&#305;cam

yard&#305;mlar&#305;n&#305;z i&#231;in te&#351;ekk&#252;r ederim
 
Katılım
23 Kasım 2007
Mesajlar
245
Excel Vers. ve Dili
2003
Arkada&#351;lar s&#252;r&#252;c&#252; harfini bulmaktan vazge&#231;tim InputBox s&#252;r&#252;c&#252; harfini kullan&#305;c&#305;dan talep ediyorum b&#252;t&#252;n d&#246;ng&#252;leri buna g&#246;re revize ettim

te&#351;ekk&#252;rler...
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Say&#305;n pcman,

Bir form olu&#351;turun ve bir d&#252;&#287;&#252;me ekleyin. D&#252;&#287;&#252;menin klik olay&#305;na:

Kod:
Dim y As Integer

surucu = Array("A:\", "B:\", "C:\", "D:\", "E:\", "F:\", "G:\", "H:\", "I:\", "J:\", "K:\", "L:\", "M:\", "N:\", "O:\", "P:\", "Q:\", "R:\", "S:\", "T:\", "U:\", "V:\", "W:\", "X:\", "Y:\", "Z:\")

For x = 0 To 25

strDrive = CStr(surucu(x))
Call ShowDriveInfo(strDrive)

Next x
kodlar&#305;n&#305; yap&#305;&#351;t&#305;r&#305;n.

Sonra da bir mod&#252;l olu&#351;turun ve &#351;u kodlar&#305; yap&#305;&#351;t&#305;r&#305;n:

Kod:
Function ShowDriveInfo(drvpath)
    Dim fs, d, s, t
    On Error Resume Next
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set d = fs.GetDrive(drvpath)
    Select Case d.DriveType
        Case 0: t = "Unknown"
        Case 1: t = "Removable"
        Case 2: t = "Fixed"
        Case 3: t = "Network"
        Case 4: t = "CD-ROM"
        Case 5: t = "RAM Disk"
    End Select
    
    If t = "Removable" Then
        s = "Drive " & drvpath & ": - " & t
        s = s & vbCrLf & "Drive is Ready."
        s = s & vbCrLf & "SN: " & d.SerialNumber
    MsgBox s
    'Else
        's = s & vbCrLf & "Drive is not Ready."
    End If
    
End Function
&#304;yi &#231;al&#305;&#351;malar
 
Son düzenleme:
Katılım
23 Kasım 2007
Mesajlar
245
Excel Vers. ve Dili
2003
Sn Modal&#305; verdi&#287;iniz kodlar normal &#351;artlarda &#231;&#305;kart&#305;labilir ayg&#305;t&#305;n seri nosunu veriyor ama ayg&#305;t haz&#305;r olmad&#305;&#287;&#305;nda nas&#305;l davranacak daha deneyemedim deneyip buraya yaz&#305;cam

te&#351;ekk&#252;r ederim
 
Katılım
17 Eylül 2006
Mesajlar
119
Excel Vers. ve Dili
Excel 2003 Türkçe
USB Bellek sürücü adını hücreye yazdırmak

Kendi bilgisayarımda G:\ sürücüsü olarak görünen USB Belleğimin içine bir Excel Kitabı ekledim. Bu excel kitabının modul kısmına aşağıda verilen kodları yapıştırdım. Makroları çalıştırdığımda Sürücü bilgisi olarak "C:\" sonucunu verdiler.
Bu USB Belek içindeki öğrenci takip programım, yine bu bellekteki "öğrenci resim klasörü" nden öğrenci resimlerini alıyor. Programımdaki öğrenci resimlerini her bilgisayarda görebilmek için USB Belleğimin hangi sürücüde olduğunu excel içinde A1 hücresine yazdırmak istiyorum. Bu konuda yardımcı olabilirseniz çok sevinirim. Çalışmalrınızda başarılar dilerim.
 
Üst