Страницы: 1
RSS
Преобразовать в одну строку
 
Добрый день!
Пожалуйста, подскажите формулу, которая может удалить абзацы и текст преобразовать в одну строку.


Требуется в столбце D удалить абзацы в тексте
Пример файла прикрепил.
Спасибо.
 
Так?
Код
Sub tt()
    Dim b$

    b = CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\Downloads\primer_d2.csv", 1).ReadAll
    b = Replace(b, "<br />" & vbCrLf, "")
    SaveTXTfile "c:\Downloads\primer_d22.csv", b

End Sub


Function SaveTXTfile(ByVal filename As String, ByVal txt As String) As Boolean
    On Error Resume Next: Err.Clear
    Set fso = CreateObject("scripting.filesystemobject")
    Set ts = fso.CreateTextFile(filename, True)
    ts.Write txt: ts.Close
    SaveTXTfile = Err = 0
    Set ts = Nothing: Set fso = Nothing
End Function
Путь естественно подставьте свой (2х)

Это надёжнее формулы - Вы ведь csv преобразуете, а внём формулы не живут, это текст.
Изменено: Hugo - 09.08.2015 18:03:32
 
Hugo, спасибо за ответ.
Я раньше не пользовался функциями, я так понимаю я должен эту функцию запустить через Visual Basic?
Кстати, тег <br /> может не везде присутствовать.
Может быть решение чуть проще в виде формулы?
 
Цитата
babblosy написал: тег  может не везде присутствовать
тогда такой мой код не годится - ведь перевод строк есть и по концам строк!
Тогда действительно проще открыть файл Экселем и производить замену только в определённом столбце.
Я по формулам не спец, пусть формулисты подумают.
 
Решение формулой ПОДСТАВИТЬ. Заменяет все Enter'ы на пробелы, а все <br \> на пропуски (убирает их). Если могут быть какие-либо другие теги, впишите их в эту формулу, она короткая и несложная для понимания.
Изменено: GoGа - 09.08.2015 19:03:31
 
Спасибо, подскажите, а что надо изменить в формуле чтобы тег <br \> не удалялся?
 
babblosy, =ПОДСТАВИТЬ(D1;"
";" ")
Страницы: 1
Читают тему
Наверх