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

Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
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.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
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:

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kodu güncelledim
Klasörlerin içindeki herhangibir dosya açık olmayacak
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Sub function or not defined hatası.


dizi1 buradan kaynaklanıyor galiba
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
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
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
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..
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
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:
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
@halit3

Çok teşekkür ederim, süper oldu. elinize sağlık.
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
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 ?
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
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.
 
Üst