powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / поиск и замена в текстовых файлах
4 сообщений из 4, страница 1 из 1
поиск и замена в текстовых файлах
    #34841979
NastyaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте еще раз!

Передо мной стоит след. задача:
"Имеются эксель-файл и текстовые файлы. На листах эксель-файла содержатся списки параметров и их значений. Изначально текстовые файлы содержат параметры, заключенные в кавычки. Необходимо с помощью VBA сгенерировать новые текстовые файлы, но с заменой параметров на их значения.
Пожалуйста, посоветуйте как корректно будет произвести данный поиск и замену. Проблема в том, что не могу подключить регулярные выражения. Нашла, что для подключения необходима библиотека Microsoft Windows Script (http://www.sql.ru/forum/actualpost.aspx?bid=46&tid=258944&mid=2323793&p=1&act=quot), но у меня она либо отсутствует, либо я не там подключаю.. (VB editor ->Tools -> References?)
Можно ли как-нибудь произвести замену не используя регулярные выражения? (либо подскажите, как библиотеку подключить дополнительно) Параметры могут находиться в любом месте строки"

Спасибо за помощь!
...
Рейтинг: 0 / 0
поиск и замена в текстовых файлах
    #34843534
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
библиотека называется так:
"Microsoft VBScript Regular Expressions 5.5"
...
Рейтинг: 0 / 0
поиск и замена в текстовых файлах
    #34843614
NastyaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkodorбиблиотека называется так:
"Microsoft VBScript Regular Expressions 5.5"

мда.., ОГРОМНОЕ вам спасибо!!!

("Шаг 16 - Чтение и запись текстовых файлов" уже читала..)
...
Рейтинг: 0 / 0
поиск и замена в текстовых файлах
    #34843709
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так что непонятного c чтением файла?
После открытия загоните весь файл в переменную а для поиска нужного символа (слова) воспользуйтесь функцией INSTR

цитата из vbfunction.chm
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
InStr([Start,]String1,String2[,Compare])
InStrB([Start,]String1,String2[,Compare]) 
Функция InStr(In String) служит для поиска номера символа(номера байта для InStrB),
с которого начинается в заданной строке образец поиска. Поиск идет от указанной
позиции слева направо. Поиск вхождения одной строки в другую весьма часто используемая 
операция. Нумерация символов всегда начинается с единицы

Примечание 
В функции InStr при очень длинных строках при текстовом методе сравнения, возможно
возникновение ошибки времени исполнения Stack overflow. Избежать этой ошибки можно, 
переведя исходную строку и образец в один регистр и перейдя на бинарное сравнение

Возвращаемое значение 
Возвращает значение типа Variant(Long), указывающее позицию первого появления одной строки 
внутри другой

Перечень возвращаемых значений Вариант Значение, возвращаемое функцией InStr 
String1 имеет нулевую длину 0 
String1 имеет значение Null Null 
String2 имеет нулевую длину Start 
String2 имеет значение Null Null 
String2 не найдена 0 
String2 найдена внутри String1 Позиция, в которой обнаружено совпадение 
Start > String2 0 

Параметры 
Элемент Описание 
Start      Необязательный. Числовое выражение, которое задает первую позицию для каждого 
             поиска. Если параметр опущен, поиск начинается с позиции первого символа. В том 
             случае, когда значение параметра Start равно Null, возникает ошибка. Параметр Start 
             является обязательным, если задан параметр Compare 
String1   Обязательный. Строковое выражение,в котором ведется поиск 
String2   Обязательный. Отыскиваемое строковое выражение 
Compare Необязательный. Задает тип сравнения для строк. Если значение параметра Compare 
            равно Null, возникает ошибка. В том случае, когда параметр Compare опущен,тип 
            сравнения определяется установками оператора Option Compare 

Установки 
Для параметра Compare используются следующие установки: 
Константа               Значение       Описание 
vbUseCompareOption      -1           Сравнение выполняется с использованием установок для оператора Option Compare 
vbBinaryCompare            0            Выполняется побитовое сравнение 
vbTextCompare              1            Выполняется текстовое сравнение 
vbDatabaseCompare        2           Только для Microsoft Access. Сравнение выполняется с применением сведений из базы данных пользователя 

Пример 

' В данном примере функция InStr
' возвращает позицию первого появления
' одной строки внутри другой строки
Dim SearchString, SearchChar, MyPos
SearchString ="Русский_Проект"   ' Исходная строка
SearchChar = "Р"   ' Следует найти "P"

' Посимвольное сравнение, начиная с позиции 4. Возвращает 10
MyPos = Instr(4, SearchString, SearchChar, vbTextCompare)   

' Двоичное сравнение, начиная с позиции 1. Возвращает 1
MyPos = Instr(1, SearchString, SearchChar, 0)

' Сравнение является двоичным по умолчанию (последний аргумент опущен)
MyPos = Instr(SearchString, SearchChar)   ' Возвращает 1

MyPos = Instr(1, SearchString, "W")   ' Возвращает 0
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / поиск и замена в текстовых файлах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]