Страницы: 1
RSS
Сохранить как текстовый файл, в кодировке ANSI, без кавычек
 
Добрый. В курилке я описал проект, но видимо никому кроме меня пока он не нужен))) Курилка

Я почти реализовал задуманное, осталось подправить сохранение. Т.к. че то ниче не выходит. тем похожих вроде бы много, но как то сложна и запутанно.

Суть: требуесся сохранить лист 1( или содержимое ячейки А1) как текст в кодировке ANSI , хоть куды, дело 10е, но т.к. хороший тон описывать что требуется на выходе, то по хорошему сразу во временную папку винды

для понимания о кавычках, почему то сохраняет не
Код
StackHorizontal (DirectShowSource("G:\Врач.json"),DirectShowSource("G:\Генералиссимус.json")
а вот так
Код
"StackHorizontal (DirectShowSource("G:\Врач.json"),DirectShowSource("G:\Генералиссимус.json"))"
 
может это поможет https://excelvba.ru/code/SaveTextToFile
 
,видел такое, как пользоваться этой функцией не понял.

Со своими функциями сталкивался. Обычно ее прописываешь потом как формулу. А тут че с ней делать. ХЗ
 
Цитата
mihail_ms написал:
В курилке я описал проект, но видимо никому кроме меня пока он не нужен
Не будет ответа здесь - в каком разделе создадите ЕЩЁ ОДНУ тему?
 
, , к чему это?
Тут конкретный вопрос, сохранить в кодировке такой то, текст из ячейки такой то.

Там просто обсуждение, в т.ч. если добрые люди скажут, нафига тебе эксель, в вба есть такие то волшебные строчки, делай батник и будет тебе счастье...
Ну или еще чего.

А может кто задаст мне вопрос вообще не потеме, на то она и курилка...
А это запрещено? Я же не дублировал темы...
 
Код
Sub Test()
Dim blResult As Boolean
    blResult = SaveTextToFile(Range("A1"), "C:\Temp\test.txt", "ANSI")
End Sub

Function SaveTextToFile(ByVal txt$, ByVal filename$, Optional ByVal encoding$ = "windows-1251") As Boolean
'https://excelvba.ru/code/SaveTextToFile
    ' функция сохраняет текст txt в кодировке Charset$ в файл filename$
    Dim FSO As Object, ts As Object, binaryStream As Object
    
    On Error Resume Next
    Err.Clear
    
    Select Case encoding$
        Case "windows-1251", "", "ANSI"
            Set FSO = CreateObject("scripting.filesystemobject")
            Set ts = FSO.CreateTextFile(filename, True)
            ts.Write txt: ts.Close
            Set ts = Nothing: Set FSO = Nothing
 
        Case "utf-16", "utf-16LE"
            Set FSO = CreateObject("scripting.filesystemobject")
            Set ts = FSO.CreateTextFile(filename, True, True)
            ts.Write txt: ts.Close
            Set ts = Nothing: Set FSO = Nothing
 
        Case "utf-8noBOM"
            With CreateObject("ADODB.Stream")
                .Type = 2: .Charset = "utf-8": .Open
                .WriteText txt$
                Set binaryStream = CreateObject("ADODB.Stream")
                binaryStream.Type = 1: binaryStream.Mode = 3: binaryStream.Open
                .Position = 3: .CopyTo binaryStream        'Skip BOM bytes
                .flush: .Close
                binaryStream.SaveToFile filename$, 2
                binaryStream.Close
            End With
 
        Case Else
            With CreateObject("ADODB.Stream")
                .Type = 2: .Charset = encoding$: .Open
                .WriteText txt$
                .SaveToFile filename$, 2        ' сохраняем файл в заданной кодировке
                .Close
            End With
    End Select
    SaveTextToFile = Err = 0
    DoEvents
End Function

Изменено: New - 20.11.2021 21:23:50
 
Цитата
mihail_ms написал:
к чему это?
к тому, что фактически Вы создали две одинаковые темы, чего делать не следовало. Если поняли, что разместили первую тему не там, то нужно было попросить модераторов перенести тему в общий форум.  А Вы теперь начинаете искать оправдания.
Впредь не делайте так.
 
NEW, cпасибо. Далее буду общаться сам с собой в курилке))) тут ругаются
Изменено: mihail_ms - 20.11.2021 21:41:24
Страницы: 1
Наверх