Bir dizin içerisinde binlerce excel dosyam var. Xlsm formatında. Oluşturduğum vba kodlarını önce bir Modüle.bas dosyasına kayıt edeceğim.
Daha sonra bu modülü dizindeki tüm excellerin içine toplu olarak ekleyeceğim. Bu pyton ile yapılabilir mi? Evet ise tekliflerinizi dm den bekliyor olacağım.
Pyton İle Excele (Modül.bas) Dosyası Ekleme
3
●96
- 01-02-2024, 13:33:04Merhabalar,
Sadece kolay olması adına söylüyorum. Eğer VBA kodunun mantığını biliyorsanız bunu python kodu çevirip exceli listeye atıp dataframe çevirin, daha sonra yazmış olduğunuz python koduna tüm excel dosyalarını döngü ile açtırıp işlem yapabilirsiniz.
Sizin istediğiniz gibi bir kütüphane veya yöntem var mıdır bilmiyorum.
İyi günler. - 01-02-2024, 13:36:23Python kullanarak bu işlemi gerçekleştirmeniz mümkün. Python'un openpyxl veya xlrd kütüphaneleri gibi Excel dosyalarını işlemek için kullanılan araçları ile bu işlemi gerçekleştirebilirsiniz.
Öncelikle, VBA kodlarını bir dosyaya kaydederek başlayalım. Ardından, Python ile bu VBA kodlarını alıp tüm excel dosyalarına ekleyebilirsiniz.
İşte basit bir örnek:- VBA kodlarını içeren bir dosyayı oluşturun (örneğin, "my_vba_code.bas").
- Python scripti ile bu dosyayı okuyup, hedef dizindeki tüm Excel dosyalarına ekleyin.
import os # VBA kodlarını içeren dosyanın adı ve yolu vba_file_path = "my_vba_code.bas" # Hedef dizin target_directory = "path/to/your/excel/files" # VBA kodlarını dosyadan oku with open(vba_file_path, 'r') as vba_file: vba_code = vba_file.read() # Hedef dizindeki tüm Excel dosyalarını bul excel_files = [f for f in os.listdir(target_directory) if f.endswith(".xlsm")] # Her Excel dosyasına VBA kodlarını ekle for excel_file in excel_files: excel_file_path = os.path.join(target_directory, excel_file) with open(excel_file_path, 'a') as excel_file: excel_file.write('\n\n' + vba_code) print("VBA kodları başarıyla eklendi.")Bu script, belirtilen dizindeki tüm .xlsm uzantılı Excel dosyalarına VBA kodlarını ekleyecektir. Ancak, dikkat edilmesi gereken bazı noktalar vardır:- Excel dosyalarının yedeklerini alın, çünkü bu işlem dosyaları değiştirecek.
- xlrd veya openpyxl gibi uygun bir kütüphane kullanmanız gerekebilir, çünkü bu örnek sadece metin tabanlı ekleme yapar.
- Güvenlik nedeniyle, scripti kullanmadan önce dikkatlice test edin.