Zakir 5 / 5 / 0 Регистрация: 02.02.2013 Сообщений: 51 |
||||
1 |
||||
14.01.2014, 20:15. Показов 13207. Ответов 3 Метки нет (Все метки)
Добрый день. Буду признателен за помощь. Проблема такая: обрабатываю excel файл, и необходимо двойные кавычки («) заменить на символ «_». На форуме подобную ветку находил, но разобраться не смог. Вот часть моего кода:
0 |
Заблокирован |
||||||||
14.01.2014, 20:18 |
2 |
|||||||
или
?
1 |
997 / 408 / 165 Регистрация: 08.02.2013 Сообщений: 695 |
|
14.01.2014, 20:19 |
3 |
Убери кавычки из «Chr(34)», просто Chr(34) — это не строка, а функция возвращающая символ кавычек.
1 |
5 / 5 / 0 Регистрация: 02.02.2013 Сообщений: 51 |
|
14.01.2014, 22:28 [ТС] |
4 |
Апострофф, rRczZZ, Премного благодарен. Почему не через функцию экселя?Решил написать макрос, так как нужно сделать замену символов, артикулов и т.д.
0 |
Добрый день! |
|
Четвертый аргумент функции ПОДСТАВИТЬ — не номер символа, а номер вхождения, т.е. не j, а i: Но так тоже не работает до конца, лень разбираться почему. Проще так: |
|
i это порядковый номер кавычки в тексте |
|
Так и я о том же. Sub kavyc1() |
|
оказывается, Mid можно и так использовать For Each cell In r |
|
Владимир Пользователь Сообщений: 8196 |
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(C4;»»»»;»«»;1);»»»»;»»»;1);»»»»;»«»;1);»»»»;»»»;1) — =ПОВТОР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(C4;»»»»;»«»;1);»»»»;»»»;1);(ДЛСТР(C4)-ДЛСТР(ПОДСТАВИТЬ(C4;»»»»;»»)))/2) ..но, не получается. «..Сладку ягоду рвали вместе, горьку ягоду я одна.» |
ikki Пользователь Сообщений: 9709 |
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(» «&C4;» «&СИМВОЛ(34);» «&СИМВОЛ(171));СИМВОЛ(34);СИМВОЛ(187));2;ДЛСТР(C4)) фрилансер Excel, VBA — контакты в профиле |
Владимир Пользователь Сообщений: 8196 |
{quote}{login=ikki}{date=18.05.2011 08:04}{thema=}{post}=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(» «&C4;» «&СИМВОЛ(34);» «&СИМВОЛ(171));СИМВОЛ(34);СИМВОЛ(187));2;ДЛСТР(C4)){/post}{/quote} ..ПСТР можно опустить. «..Сладку ягоду рвали вместе, горьку ягоду я одна.» |
webley Пользователь Сообщений: 1991 |
Вариант UDF |
ikki Пользователь Сообщений: 9709 |
конечно, надо понимать, что в моей формуле открывающей считается кавычка, либо стоящая первой в ячейке, либо та, перед которой находится пробел. все остальные кавычки считаются закрывающими. соответствующая UDF: Function ff(s As String) As String фрилансер Excel, VBA — контакты в профиле |
ikki Пользователь Сообщений: 9709 |
{quote}{login=Владимир}{date=18.05.2011 08:14}{thema=Re: }{post} так пробел же останется фрилансер Excel, VBA — контакты в профиле |
Владимир Пользователь Сообщений: 8196 |
#12 18.05.2011 08:31:05 Прошу прощения, пробел не заметил.. «..Сладку ягоду рвали вместе, горьку ягоду я одна.» |
Содержание
- VBA Excel. Кавычки в коде — двойные и ёлочки
- Двойные кавычки
- Кавычки «ёлочки»
- Неправильная замена двойных кавычек вместо двойных угловых кавычек VBA Word
- 2 ответа
- Кавычки в строковых выражениях
- Включить одинарные кавычки
- Включить двойные кавычки
- Включение переменной, представляющей кавычки
- Поддержка и обратная связь
- Как вы используете «(двойные кавычки) в формуле в OpenOffice VBA? Например, с помощью Replace()
- 1 ответ
- VBA Excel. Работа с текстом (функции)
- Функции для работы с текстом
- Ключевые слова для работы с текстом
- Примеры
- Вывод прямых парных кавычек
VBA Excel. Кавычки в коде — двойные и ёлочки
Двойные кавычки и кавычки «ёлочки» в коде VBA Excel. Коды символов кавычек и ввод кавычек «ёлочек» в редакторе VBA Excel с клавиатуры. Примеры.
Двойные кавычки
Двойные прямые кавычки ( «Весна» ) обычно называют просто «двойные кавычки» или «прямые кавычки», так как в текстах они встречаются намного чаще одинарных прямых кавычек ( ‘Весна’ ).
В VBA Excel прямые кавычки являются специальными символами, обозначающими текст:
Переменной x присваивается строка (текст): Магазин Весна открыт .
Если мы хотим отобразить эту строку со словом «Весна» в двойных кавычках, необходимо слово в прямых кавычках экранировать еще одной парой двойных кавычек ( «»Весна»» ) или использовать функцию Chr, возвращающую символ по его числовому коду. Числовой код прямых кавычек — 34.
Пример добавления двойных прямых кавычек внутри текста из кода VBA Excel:
Кавычки «ёлочки»
Двойные кавычки «ёлочки» обычно называют просто кавычки «ёлочки» , так как одинарные ‹ёлочки› встречаются очень редко.
Двойные кавычки «ёлочки» не являются спецсимволами, поэтому в строках внутри процедур VBA Excel их можно использовать не только через функцию Chr по числовому коду символа, но и ввести с клавиатуры.
Ввод «ёлочек» с клавиатуры в редакторе VBA Excel осуществляется также с помощью числовых кодов символов открывающей и закрывающей кавычек:
- числовой код открывающей кавычки ( « ) — 171;
- числовой код закрывающей кавычки ( » ) — 187.
Сочетания клавиш для ввода «ёлочек» с клавиатуры:
- Alt+0171 — ввод открывающей кавычки ( « );
- Alt+0187 — ввод закрывающей кавычки ( » ).
Обратите внимание, что для ввода «ёлочек» с клавиатуры используется левая клавиша Alt, а числовой код набирается на цифровом блоке справа.
Пример добавления двойных кавычек «ёлочки» внутри текста из кода VBA Excel:
Источник
Неправильная замена двойных кавычек вместо двойных угловых кавычек VBA Word
Я пытаюсь заменить все Left and Right double angle quotes chr (171) и chr (187), а затем пробел chr (32), то есть « или » , только chr (171) или chr (187) соответственно.
Замените это «« Abc «на это» «Abc «
Замените это « xyz» на это « xyz» ».
Я использую приведенный ниже код, но после замены символ представляет собой двойную кавычку “ вместо двойной кавычки «
Как это исправить? Заранее спасибо.
2 ответа
Прежде всего, Chr(171) и Chr(187) не являются угловыми кавычками. Они могут быть в определенных местах, но в других они будут разными персонажами. Вы хотите использовать ChrW(171) и ChrW(187) .
Имея это в виду, ваш код на самом деле работает и корректно заменяет кавычку, но затем параметры Word Файл — — — Проверка — — автозамена — Автоформат по мере ввода — Прямые кавычки с умными кавычками включаются и заменяют заключительные « на “ .
Один из вариантов — отключить эту функцию:
Другой вариант — использовать сопоставление с подстановочными знаками, захватить угловую кавычку как отдельную группу и указать это в подстановочном подстановочном знаке:
По какой-то причине в этом случае функция умного цитирования не срабатывает.
Вероятно, вы включили .AutoFormatAsYouTypeReplaceQuotes , и ваше Слово заменяет chr (171) («) на» «.
Если Вы хотите просто отключить это для функции Find & Replace, сделайте вот что:
Если Вы хотите просто отключить это (не возвращаясь к основным настройкам), поставьте
Источник
Кавычки в строковых выражениях
В ситуациях, когда необходимо создать строки для объединения, может потребоваться внедрить строку в другую строку или строковую переменную в строку. Ситуации, в которых может потребоваться вложить одну строку в другую, включают:
При указании условий для агрегатных функций домена.
При указании условий для методов Find .
При указании условий для свойства Filter или ServerFilter формы.
При создании строк SQL.
Во всех этих экземплярах Access должен передавать строку ядру СУБД Access. Например, при указании аргумента условия для агрегатной функции домена Access необходимо оценить все переменные, сцепить их в строку, а затем передать всю строку в ядро СУБД Access.
При внедрении числовой переменной Access вычисляет переменную и просто объединяет значение в строку. Однако если переменная является текстовой строкой, результирующая строка условия будет содержать строку в строке. Строка в строке должна быть определена разделителями строк. В противном случае ядро СУБД Access не сможет определить, какая часть строки является нужным значением.
Строковые разделители на самом деле не являются частью самой переменной, но они должны быть включены в строку в аргументе условия . Существует три разных способа создания строки в аргументе условия . Каждый метод приводит к подобию аргумента условия , который выглядит как в одном из следующих примеров.
Включить одинарные кавычки
В аргумент условия следует включить одинарные кавычки таким образом, чтобы при сцеплях значения переменной в строку оно заключалось в одинарные кавычки. Например, предположим, что аргумент условия должен содержать строковую переменную с именем strName . Аргумент условия можно создать, как показано в следующем примере:
Когда переменная strName вычисляется и объединяется в строку условия , строка условия становится:
Этот синтаксис не позволяет использовать апострофы (‘) в значении самой переменной. Если значение строковой переменной содержит апостроф, Access создает ошибку во время выполнения. Если переменная может представлять значения, содержащие апострофы, рассмотрите возможность использования одной из других форм синтаксиса, описанных в следующих разделах.
Включить двойные кавычки
Следует включить двойные кавычки в аргумент условия таким образом, чтобы при вычислении значения переменной оно заключалось в кавычки. В строке необходимо использовать два набора двойных кавычек, чтобы представить один набор двойных кавычек. Аргумент условия можно создать, как показано в следующем примере:
Когда переменная strName вычисляется и объединяется с аргументом условия , каждый набор из двух двойных кавычек заменяется одной кавычки. Аргумент условия становится следующим:
Этот синтаксис может показаться более сложным, чем синтаксис одной кавычки, но он позволяет внедрить строку, содержащую апостроф, в аргумент условия . Он также позволяет вложить одну или несколько строк во внедренную строку.
Включение переменной, представляющей кавычки
Можно создать строковую переменную, представляющую двойные кавычки, и объединить эту переменную в аргумент условия вместе со значением переменной. Представление ANSI для двойных кавычек : Chr$(34) это значение можно присвоить строковой переменной с именем strQuote . Затем можно создать аргумент условия , как показано в следующем примере:
Когда переменные вычисляются и объединяются в аргумент условия , аргумент условия становится следующим:
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Как вы используете «(двойные кавычки) в формуле в OpenOffice VBA? Например, с помощью Replace()
Я хочу заменить двойные кавычки » на двойные кавычки с обратной косой чертой — » .
Я читал в Интернете, что вы можете использовать двойные кавычки в VBA, если вы используете две двойные кавычки внутри основных двойных кавычек. Но, похоже, это не сработало для меня. Например, я попробовал следующий код:
Когда я тестировал ее, эта функция успешно заменила одинарную обратную косую черту и одинарные кавычки, но не двойные кавычки.
Я также читал, что вы можете использовать CHR(34) и в других местах использовать CHR(147). Но и это не сработало. Я попробовал следующие строки:
Но проверить это с ячейкой с двойными кавычками не получилось. Я делаю что-то неправильно? Как я могу использовать двойные кавычки с функцией Replace()?
1 ответ
Когда я ввел a»b в ячейку, Calc преобразовал его в правую двойную кавычку, а не в левую. Добавление этой строки заставило его работать:
Имейте в виду, что x94 (десятичное число 148) — это расширенный кодированный символ ASCII, чего я бы избегал любой ценой. Настоятельно рекомендуется использовать только первые 128 символов в качестве ASCII и использовать Unicode для всего остального.
Значение Юникода для правой двойной кавычки — U+201D . К сожалению, по-видимому, в LibreOffice Basic нет собственного способа работы с такими значениями. Существует ChrW, но для этого требуется VBA вариант совместимости. Другой способ — вызвать функцию электронной таблицы UNICODE() из Basic, но это громоздко.
Мое предпочтение: не используйте Basic для чего-то важного. Вместо этого макросы LibreOffice могут быть написаны на Python, который имеет сильную поддержку Unicode.
ИЗМЕНИТЬ :
Вчера я забыл упомянуть одну вещь: выберите кавычку в строке формул и нажмите Alt + x , чтобы узнать, что это на самом деле. Это преобразует его в значение Unicode, а затем обратно.
ИЗМЕНИТЬ 2 :
Все верно — Alt+X работает только в LibreOffice, а не в AOO. Также по какой-то причине приведенный выше расширенный код ASCII не работает в AOO. Может быть, это не так уж и плохо. Во всяком случае, вот подход к доступу к функциям электронной таблицы Unicode, и он работает для меня как в AOO, так и в LO.
Источник
VBA Excel. Работа с текстом (функции)
Работа с текстом в коде VBA Excel. Функции, оператор & и другие ключевые слова для работы с текстом. Примеры использования некоторых функций и ключевых слов.
Функции для работы с текстом
Основные функции для работы с текстом в VBA Excel:
Функция | Описание |
---|---|
Asc(строка) | Возвращает числовой код символа, соответствующий первому символу строки. Например: MsgBox Asc(«/Stop»). Ответ: 47, что соответствует символу «/». |
Chr(код символа) | Возвращает строковый символ по указанному коду. Например: MsgBox Chr(47). Ответ: «/». |
Format(Expression, [FormatExpression], [FirstDayOfWeek], [FirstWeekOfYear]) | Преобразует число, дату, время в строку (тип данных Variant (String)), отформатированную в соответствии с инструкциями, включенными в выражение формата. Подробнее… |
InStr([начало], строка1, строка2, [сравнение]) | Возвращает порядковый номер символа, соответствующий первому вхождению одной строки (строка2) в другую (строка1) с начала строки. Подробнее… |
InstrRev(строка1, строка2, [начало, [сравнение]]) | Возвращает порядковый номер символа, соответствующий первому вхождению одной строки (строка2) в другую (строка1) с конца строки. Подробнее… |
Join(SourceArray,[Delimiter]) | Возвращает строку, созданную путем объединения нескольких подстрок из массива. Подробнее… |
LCase(строка) | Преобразует буквенные символы строки в нижний регистр. |
Left(строка, длина) | Возвращает левую часть строки с заданным количеством символов. Подробнее… |
Len(строка) | Возвращает число символов, содержащихся в строке. |
LTrim(строка) | Возвращает строку без начальных пробелов (слева). Подробнее… |
Mid(строка, начало, [длина]) | Возвращает часть строки с заданным количеством символов, начиная с указанного символа (по номеру). Подробнее… |
Replace(expression, find, replace, [start], [count], [compare]) | Возвращает строку, полученную в результате замены одной подстроки в исходном строковом выражении другой подстрокой указанное количество раз. Подробнее… |
Right(строка, длина) | Возвращает правую часть строки с заданным количеством символов. Подробнее… |
RTrim(строка) | Возвращает строку без конечных пробелов (справа). Подробнее… |
Space(число) | Возвращает строку, состоящую из указанного числа пробелов. Подробнее… |
Split(Expression,[Delimiter],[Limit],[Compare]) | Возвращает одномерный массив подстрок, извлеченных из указанной строки с разделителями. Подробнее… |
StrComp(строка1, строка2, [сравнение]) | Возвращает числовое значение Variant (Integer), показывающее результат сравнения двух строк. Подробнее… |
StrConv(string, conversion) | Изменяет регистр символов исходной строки в соответствии с заданным параметром «conversion». Подробнее… |
String(число, символ) | Возвращает строку, состоящую из указанного числа символов. В выражении «символ» может быть указан кодом символа или строкой, первый символ которой будет использован в качестве параметра «символ». Подробнее… |
StrReverse(строка) | Возвращает строку с обратным порядком следования знаков по сравнению с исходной строкой. Подробнее… |
Trim(строка) | Возвращает строку без начальных (слева) и конечных (справа) пробелов. Подробнее… |
UCase(строка) | Преобразует буквенные символы строки в верхний регистр. |
Val(строка) | Возвращает символы, распознанные как цифры с начала строки и до первого нецифрового символа, в виде числового значения соответствующего типа. Подробнее… |
WorksheetFunction.Trim(строка) | Функция рабочего листа, которая удаляет все лишние пробелы (начальные, конечные и внутренние), оставляя внутри строки одиночные пробелы. |
В таблице перечислены основные функции VBA Excel для работы с текстом. С полным списком всевозможных функций вы можете ознакомиться на сайте разработчика.
Ключевые слова для работы с текстом
Ключевое слово | Описание |
---|---|
& | Оператор & объединяет два выражения (результат = выражение1 & выражение2). Если выражение не является строкой, оно преобразуется в Variant (String), и результат возвращает значение Variant (String). Если оба выражения возвращают строку, результат возвращает значение String. |
vbCrLf | Константа vbCrLf сочетает в себе возврат каретки и перевод строки (Chr(13) + Chr(10)) и переносит последующий текст на новую строку (результат = строка1 & vbCrLf & строка2). |
vbNewLine | Константа vbNewLine в VBA Excel аналогична константе vbCrLf, также сочетает в себе возврат каретки и перевод строки (Chr(13) + Chr(10)) и переносит текст на новую строку (результат = строка1 & vbNewLine & строка2). |
Примеры
Вывод прямых парных кавычек
Прямые парные кавычки в VBA Excel являются спецсимволами и вывести их, заключив в самих себя или в одинарные кавычки (апострофы), невозможно. Для этого подойдет функция Chr:
Источник
In this Article
- Replace Function
- Starting Position
- Replace a Few Occurrences Only
- Case Sensitivity
- Double Quotes
- Replace Break Line in Cell
This tutorial will demonstrate how to use the VBA Replace Function to replace strings of text.
Replace Function
The VBA Replace function replaces a substring of text with another substring.
Sub ReplaceExample_1()
MsgBox Replace("ABCABCABC", "A", "!")
'Result is: "!BC!BC!BC"
MsgBox Replace("I like pink, red and black", "pink", "purple")
'Result is: "I like purple, red and black"
MsgBox Replace("A, B, C, A, B, C, A, B, C", ", ", ",")
'Result is: "ABCABCABC"
MsgBox Replace("ABCABCABC", "ABC", "!")
'Result is: "!!!"
MsgBox Replace("ABCABCABC", "ABc", "!")
'Result is: "ABCABCABC"
MsgBox Replace("ABCABCABC", "ZBC", "!")
'Result is: "ABCABCABC"
End Sub
Starting Position
By assigning a start position, you can indicate what character position to start with (default = 1).
Sub ReplaceExample_2()
MsgBox Replace("ABCABCABC", "A", "123") 'Result is: "123BC123BC123BC"
MsgBox Replace("ABCABCABC", "A", "123", 2) 'Result is: "BC123BC123BC"
MsgBox Replace("ABCABCABC", "A", "123", 7) 'Result is: "123BC"
MsgBox Replace("ABCABCABC", "A", "123", 8) 'Result is: "BC"
MsgBox Replace("ABCABCABC", "ABC", "!@") 'Result is: "!@!@!@"
MsgBox Replace("ABCABCABC", "ABC", "!@", 2) 'Result is: "BC!@!@"
MsgBox Replace("ABCABCABC", "ABC", "!@", 6) 'Result is: "C!@"
MsgBox Replace("ABCABCABC", "ABC", "!@", 7) 'Result is: "!@"
MsgBox Replace("ABCABCABC", "ABC", "!@", 8) 'Result is: "BC"
End Sub
Replace a Few Occurrences Only
You can also indicate how many instances of the substring to replace (default All)
Sub ReplaceExample_3()
MsgBox Replace("ABCABCABC", "A", "12") 'Result is: "12BC12BC12BC"
MsgBox Replace("ABCABCABC", "A", "12", , 1) 'Result is: "12BCABCABC"
MsgBox Replace("ABCABCABC", "A", "12", , 2) 'Result is: "12BC12BCABC"
MsgBox Replace("ABCABCABC", "A", "12", , 3) 'Result is: "12BC12BC12BC"
MsgBox Replace("ABCABCABC", "A", "12", , 5) 'Result is: "12BC12BC12BC"
MsgBox Replace("ABCABCABC", "A", "12", 3, 1)
'Result is: "C12BCABC"
'We replaced A with 12, 1 time starting from position 3 of the original string.
End Sub
Case Sensitivity
The Replace Function is case sensitive by default. You can switch to case insensitive by adding the optional parameter (vbTextCompare). Here, you must also define the starting position of the search.
Sub ReplaceExample_4()
MsgBox Replace("ABcABCABc", "ABc", "12")
'Result is: "12ABC12"
MsgBox Replace("ABcABCABc", "ABc", "12", , , vbTextCompare)
'Result is: "121212"
'When we use vbTextCompare we need to add the 2 other optional arguments:
'start and count
MsgBox Replace("ABcABCABcABc", "ABc", "12", 3, 1)
'Result is: "cABC12ABc"
'Started from position3 and replaced ABC only 1 time.
End Sub
You can also perform a case-insensitive Replace, by adding Option Compare Text to the top of your module:
Option Compare Text
Double Quotes
The Replace Function can replace the double quotes character used to delimit the start and end of a string.
VBA Chr function can return a character from its number in the character set.
MsgBox Chr(34) 'Result is: "
Or
MsgBox Chr(64) 'Result is: @
Double quotes can be used inside the Replace Function using “””” or VBA Function Chr(34).
Sub ReplaceExample_5()
Dim StrEx As String
StrEx = "AB""AB"""
MsgBox StrEx 'Result is: AB"AB"
MsgBox Replace(StrEx, Chr(34), "12")
'Result is: AB12AB12
MsgBox Replace(StrEx, """", "DQ")
'Result is: "ABDQABDQ"
End Sub
Replace Break Line in Cell
The Replace Function can find the break line special character in a cell and remove it or replace it with a space character. The break line special character can be entered in a cell using the keyboard shortcut Alt+Enter and can be used in VBA code with its Character set number using VBA function Chr(10).
Sub ReplaceExample_6()
Dim StrEx As String 'Define a string variable
'Read the value of cell A2 in worksheet Sheet1
StrEx = ThisWorkbook.Worksheets("Sheet1").Range("A2").Value
'The break line character entered with Alt+Enter is Chr(10) and is invisible.
'This code line replaces that character with space
StrEx = Replace(StrEx, Chr(10), " ")
'Write the replaced value in cell B2 in worksheet Sheet1
ThisWorkbook.Worksheets("Sheet1").Range("B2").Value = StrEx
End Sub
У меня есть текстовый файл, который как показано ниже
"asdf","dfgv","asd","sdgs"
"sfgf","xcbvcvb","gsfgf","sdvxc"
"asfdfg","fbgdfg","sdfsd","fdg"
"bdg","sdf","fgfdg","fcg"
"sdf","fbcx","ckvknm","fklf"
"xv","asds","r","cxv"
Но я хочу вывод, который выглядит так
asdf,dfgv,asd,sdgs
sfgf,xcbvcvb,gsfgf,sdvxc
asfdfg,fbgdfg,sdfsd,fdg
bdg,sdf,fgfdg,fcg
sdf,fbcx,ckvknm,fklf
xv,asds,r,cxv
Я прошел по ссылке ниже и изменил код с «Запись № 1» на «Печать № 1». Но проблема в том, что я хочу, чтобы этот файл массово вставлялся на сервер SQL. Следовательно, использование печати не помогает мне. Удалить двойные кавычки из оператора записи в VBA
2018-01-29 06:25
4
ответа
Вы можете использовать Replace
функция для удаления всех символов кавычки:
result = Replace(original_string, string_you_want_to_remove, replace_with )
example = Replace(original_string , CHR(34), "")
2018-01-29 06:35
Спасибо всем, но я нашел другой способ удаления двойных кавычек с помощью пакетного сценария, как показано ниже.
set objRe = new RegExp
objRE.Pattern = """"
objRE.Global = True
strFileName = "Source.txt"
set objFS = CreateObject("Scripting.FileSystemObject")
set objTS = objFS.OpenTextFile(strFileName)
strFileContents = objTS.ReadAll
objTS.Close
strNewContents = objRE.replace(strFileContents,"")
set objWS = objFS.CreateTextFile("Results.txt")
objWS.Write StrNewContents
objWS.close
2018-01-29 08:21
Просто замените ()
Replace(<SourceString>, """, "")
2018-01-29 06:33
Попробуйте этот код:
Sub CleanFile()
Dim fileName, FSO, rfile, wfile As Variant
Dim line As String, dotAt As Integer, newFileName As String
fileName = Application.GetOpenFilename(, , "Load Excel File", , False)
If fileName = "False" Then
MsgBox "No file chosen"
Exit Sub
End If
dotAt = InStrRev(fileName, ".")
newFileName = Left(fileName, dotAt - 1) + " - CLEAN.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set rfile = FSO.OpenTextFile(fileName, 1) 'connection for reading
Set wfile = FSO.OpenTextFile(newFileName, 8, True, -1) 'connection for writing
Do Until rfile.AtEndOfStream
line = rfile.ReadLine
wfile.WriteLine Replace(line, """", "")
Loop
End Sub
2018-01-29 07:06