- Katılım
- 28 Ocak 2019
- Mesajlar
- 29
- Excel Vers. ve Dili
- excel 2016. 64 bit. Türkçe dili.
- Altın Üyelik Bitiş Tarihi
- 24-10-2023
Merhaba;
Benim elimde 1000'e yakın .xls (Microsoft Excel 97-2003 Çalışma Sayfası ) formatın'da dosya var. Ben bunları tek tek açıp .xlsx formatı'na dönüştürmem çok zaman alacak.
Bunu makro ile nasıl yapabiliriz?
Ben böyle bir kod buldum ama Açık yeşile boyadığım satırda (10.Satır) hata veriyor.
DefObj E
Sub XLS_Dosyalari_XLSM_Donustur()
Dim dosyaad As String
Set evn = CreateObject("scripting.filesystemobject")
Set evnklasor = evn.getfolder("C:\Users\erdal.koc\Desktop\28.01.2020 - Kopya")
For Each evndosya In evnklasor.Files
If VBA.UCase(VBA.Right(evndosya.Name, 3)) = "XLS" Then
dosyaad = Mid(evndosya.Path, 1, Len(evndosya.Path) - 0)
Workbooks.Open evndosya.Path
ActiveWorkbook.SaveAs Filename:=evnad & ".xlsx", FileFormat:=51
ActiveWorkbook.Close
End If
Next
Set evn = Nothing: Set evnklasor = Nothing
Set evndosya = Nothing: dosyaad = vbNullString
End Sub
Yardımlarınız için şimdiden teşekkürler.
Örnek dosya linki altaki gibidir;
drive.google.com
Benim elimde 1000'e yakın .xls (Microsoft Excel 97-2003 Çalışma Sayfası ) formatın'da dosya var. Ben bunları tek tek açıp .xlsx formatı'na dönüştürmem çok zaman alacak.
Bunu makro ile nasıl yapabiliriz?
Ben böyle bir kod buldum ama Açık yeşile boyadığım satırda (10.Satır) hata veriyor.
DefObj E
Sub XLS_Dosyalari_XLSM_Donustur()
Dim dosyaad As String
Set evn = CreateObject("scripting.filesystemobject")
Set evnklasor = evn.getfolder("C:\Users\erdal.koc\Desktop\28.01.2020 - Kopya")
For Each evndosya In evnklasor.Files
If VBA.UCase(VBA.Right(evndosya.Name, 3)) = "XLS" Then
dosyaad = Mid(evndosya.Path, 1, Len(evndosya.Path) - 0)
Workbooks.Open evndosya.Path
ActiveWorkbook.SaveAs Filename:=evnad & ".xlsx", FileFormat:=51
ActiveWorkbook.Close
End If
Next
Set evn = Nothing: Set evnklasor = Nothing
Set evndosya = Nothing: dosyaad = vbNullString
End Sub
Yardımlarınız için şimdiden teşekkürler.
Örnek dosya linki altaki gibidir;