Cześć,
Mam makro, które zmienia mi zawartość pliku na csv z kodowaniem UTF-8 bez BOM i to działa poprawnie.
Natomiast nie do końca potrafię ograrnąć nazwę pliku (pliki zapisuję na serwerze unixowym) i wygląda to tak:
- przeglądając zawartość katalogu na serwerze przez windowsowego explorera widzę taką nazwę pliku: DID2ZV~D
- przeglądając serwer za pomocą np. WinSCP mam taką: ddp_sm_test1.
Sprawdzając na innym kompie i zapisując plik za pomocą poniższego makra plik bezpośrednio na serwerze mam nazwę jak w pierwszym przypadku. Zapisując plik najpierw lokalnie na kompie, a potem kopiując na serwer - jest ok.
Jak to ogarnąć? Najlepiej by było, żeby nazwa pliku była w kodowaniu UTF-8 bez BOM.
Kody mam mniej więcej takie:
Dim objStream
Set objStream = CreateObject("ADODB.Stream")
Dim sFileSaveName As Variant
With objStream
.Open
.Position = 0
.Charset = "UTF-8"
.Type = 1
End With
sFileSaveName = Application.GetSaveAsFilename
If (sFileSaveName <> False) Then
objStream.SaveToFile sFileSaveName, 2
End If
objStream.Close