• DİKKAT

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

Soru Klasör isimlerini BÜYÜK harf yapmak

  • 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
Merhaba arkadaşlar;


aktif klasördeki , klasör isimlerini command buton ile büyük harfe nasıl çevirebilirim ?

örnek :

C:\Deneme ; = ( Aktif klasör)

altındaki klaösrler :


Batı = BATI
batı02 =BATI02

Doğu = DOĞU
DOĞU=DOĞU

İnşaat = İNŞAAT
ınşaat = INŞAAT

gibi...


yardımcı arkadaşa şimdiden Teşekkürler.
 
Bu kodu bir dene

CSS:
Dim dizi1(50000)
Dim say
Sub Klasör_Listele2()
Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo Atla
'If Len(Kaynak) = 3 Then MsgBox "Bir klasör seçin": Exit Sub
say = 0
Liste (Kaynak)
For k = say To 2 Step -1
eski = dizi1(k)
Name dizi1(k) As UCase(dizi1(k))
Next k

Set Klasor = Nothing
MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
End Sub
Private Sub Liste(yol As String)
Dim fL As Object, f As Object, dosya As String, j As Long
Set fL = CreateObject("Scripting.FileSystemObject")
say = say + 1
dizi1(say) = yol

On Error GoTo sonraki
For Each f In fL.GetFolder(yol).SubFolders
On Error Resume Next
Liste (f.Path)
sonraki:
Next
Set fL = Nothing
End Sub
 
Son düzenleme:
Kodu güncelledim
Klasörlerin içindeki herhangibir dosya açık olmayacak
 
Sub function or not defined hatası.


dizi1 buradan kaynaklanıyor galiba
 
Birde bunu deni
CSS:
Private dizi1(50000)
Dim say As Long
Sub Klasör_Listele2()
Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo Atla
'If Len(Kaynak) = 3 Then MsgBox "Bir klasör seçin": Exit Sub
say = 0
Liste (Kaynak)
For k = say To 2 Step -1
eski = dizi1(k)
Name dizi1(k) As UCase(dizi1(k))
Next k

Set Klasor = Nothing
MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
End Sub
Private Sub Liste(yol As String)
Dim fL As Object, f As Object
Set fL = CreateObject("Scripting.FileSystemObject")
say = say + 1
dizi1(say) = yol

On Error GoTo sonraki
For Each f In fL.GetFolder(yol).SubFolders
On Error Resume Next
Liste (f.Path)
sonraki:
Next
Set fL = Nothing
End Sub
 
Tamamdır , Teşekkürler.

sadece ;

batı ---BATı şeklinde oldu.

kodu UPPERCASE ile değilde harflere göre işlemesini sağlasak, çok uzun mu olur ?

yabi şu şekilde ;

abcçdefgğhiı...z

ABCÇDEFGğHİI...Z


gibi..
 
kod:

CSS:
Private dizi1(50000)
Private dizi2(50000)
Dim say As Long
Sub Klasör_Listele()

Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo Atla

say = 0
Liste11 (Kaynak)

For k = say To 2 Step -1
Name dizi1(k) As dizi2(k)
Next k

Set Klasor = Nothing
MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
End Sub
Private Sub Liste11(yol As String)
Dim fL As Object, f As Object
Set fL = CreateObject("Scripting.FileSystemObject")
say = say + 1
dizi1(say) = yol
deg1 = Array("a", "b", "c", "ç", "d", "e", "f", "g", "ğ", "h", "ı", "i", "j", "k", "l", "m", "n", "o", "ö", "p", "r", "s", "ş", "t", "u", "ü", "v", "y", "z", "w", "x", "q")
deg2 = Array("A", "B", "C", "Ç", "D", "E", "F", "G", "Ğ", "H", "I", "İ", "J", "K", "L", "M", "N", "O", "Ö", "P", "R", "S", "Ş", "T", "U", "Ü", "V", "Y", "Z", "W", "X", "Q")
aranan = fL.GetFileName(yol)
For t = 0 To 31
aranan = Replace(aranan, deg1(t), deg2(t))
Next t
dizi2(say) = fL.GetParentFolderName(yol) & "\" & aranan
On Error GoTo sonraki
For Each f In fL.GetFolder(yol).SubFolders
On Error Resume Next
Liste11 (f.Path)
sonraki:
Next
 
Son düzenleme:
@halit3

Çok teşekkür ederim, süper oldu. elinize sağlık.
 
kod:

CSS:
[B]Private dizi1(50000)
Private dizi2(50000)[/B]
Dim say As Long
Sub Klasör_Listele()

[B]Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path[/B]



Hocam bu kısımları CURDIR olarak değiştirebilirmiyiz ?

Private dizi1(50000)
Private dizi2(50000)

bu kısımların da değişmesi gerekir mi ? ,

dizi1(50000) anlamı nedir ?
 
Kod:
Sub Klasör_Listele()
Kaynak = CurDir
say = 0
Liste11 (Kaynak)
For f = say To 2 Step -1
Name dizi1(f) As dizi2(f)
Next f

Set Kaynak = Nothing
MsgBox "işlem tamam"
End Sub

Bu şekilde düzenledim. eksiğim var mı bilemiyorum.

Hatasız bir şekilde sonuç aldım.
 
Geri
Üst