• DİKKAT

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

Excel içinden, notepad ile işlem.

  • Konbuyu başlatan Konbuyu başlatan lark
  • Başlangıç tarihi Başlangıç tarihi

lark

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2004
Mesajlar
322
Excel Vers. ve Dili
Excel 2021 / Türkçe
Merhaba,
Excel VBA ile, bir directory'deki belirli dosyaları excel'de listeledikten sonra, bunları döngüye sokup notepad'da açarak, kodlaması ne olursa olsun, "farklı kaydet" ile kendi üzerine "bom ile utf-8" kodlamalı olarak kaydetmesini sağlamaya çalışıyorum.
Dosyaları tek tek, "shell" ve "sendkeys" ile yapabiliyorum ama döngüye soktuğumda ve işin içine değişken girince yapamıyorum.
Bu konuda yardımcı olabilecek var ise memnun olurum.
Teşekkürler.
 
Cevaba, teşekkür ederim. Notepad ile çözüme yoğunlaşmıştım. Böylesi daha iyi tabii ki; basit de görünüyor ancak, saatlerdir uğraştığım halde yapamadım maalesef.
 
PHP:
Sub Test_With_BOM()
    'Zeki Gürsoy'
  
    Dim stream As Object
  
    Set stream = CreateObject("ADODB.Stream")
  
    stream.Charset = "UTF-8"
    stream.Open
    stream.LoadFromFile "c:\users\user\desktop\noBOM.txt"
  
    stream.SaveToFile "c:\users\user\desktop\withBOM.txt"
    stream.Close
  
  
    'Byte lar BOM (Byte Order Mark) ile
    'gelmiş mi kontrol edelim...
    Dim bytes(1 To 5) As Byte
  
    Open "c:\users\user\desktop\withBOM.txt" For Binary As #1       
        Get #1, , bytes
    Close
  
    For Each b In bytes
        Debug.Print b; " --> "; Chr(b)
    Next
  
End Sub

.
 
Çok teşekkür ederim, emeğinize sağlık.
Çalıştı ancak, mantığını bir türlü çözemedim. Dosya zaten utf-8. "BOM"'u ekleyen satır ve komut nedir, anlayamadım.
Çok vaktinizi almak da istemiyorum fakat son bir yardımınızı isteyebilir miyim.
Teşekkürler.
 
ADOB.Stream nesnesi, kendiliğinden BOM ekliyor olabilir... Zaten dünyada da ağırlıklı olarak Without BOM olarak sorular yöneltilmiş.
UTF8 veya ANSI birer byte yer kaplar; BOM içermez. Local karakterlerin kodları farklıdır o kadar.

.
 
Anladım.
Çok teşekkür ederim tekrar.
 
Geri
Üst