Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 527
от 12.05.2007, 23:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 261, Экспертов: 36
В номере:Вопросов: 4, Ответов: 5


Вопрос № 85816: Здравствуйте, уважаемые эксперты! Есть порядка 150 файлов формата .rtf с разными английскими именами. Задача состоит в следующем (операции должны повторяться для каждого файла): 1. Проверить, есть ли такой файл в определенной папке. ..
Вопрос № 85865: Уважаемые эксперты подскажите что сдесь не правильно Adodc1.Recordset.MoveFirst Adodc1.RecordSource = "SELECT Kuzov FROM TOYOTA WHERE Kuzov LIKE '" & KuzovVyb & "'" Adodc1.Refresh пишет что ошибка синтак...
Вопрос № 85909: Здравствуйте, уважаемые эксперты! Помогите, пожалуйста. Нужно создать папку в VBA название и путь и путь к которой содержатся в ячейке Q4 на листе EXCEL....
Вопрос № 85940: Уважаемые эксперты. Я недавно сделал программу, которая создает статистику по частоте букв в документе. Но с большими файлами она начинает зависать. Как мне избавиться от этой проблемы(и вообще проблемы обработки больших файлов)?...

Вопрос № 85.816
Здравствуйте, уважаемые эксперты!

Есть порядка 150 файлов формата .rtf с разными английскими именами. Задача состоит в следующем (операции должны повторяться для каждого файла):
1. Проверить, есть ли такой файл в определенной папке.
2. Если есть, открыть его.
3. Сохранить файл в формате .txt с именем на русском языке в другой определенной папке (русские имена жестко соответствуют названиям файлов на английском языке).

Еще есть нюанс: файлы на англиском языке берутся из одной папки, а файлы с русскими названиями раскидываются по нескольким - их около десятка).

Помогите написать скрипт, решающий эту задачу в Microsoft Word 2000, если это возможно. Я в программировании не силен, если можно поподробнее или с комментариями.

С уважением, Евгений.
Отправлен: 07.05.2007, 07:15
Вопрос задал: Evgen1974 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: PsySex
Здравствуйте, Evgen1974!
Думаю это вас устроит. Прикрепляю архив с проектом.
забыл уточнить: файл настройки должен лежать рядом с ехе файлом.

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Bom Shankar!

Ответ отправил: PsySex (статус: Практикант)
Ответ отправлен: 11.05.2007, 13:22


Вопрос № 85.865
Уважаемые эксперты подскажите что сдесь не правильно
Adodc1.Recordset.MoveFirst
Adodc1.RecordSource = "SELECT Kuzov FROM TOYOTA WHERE Kuzov LIKE '" & KuzovVyb & "'"
Adodc1.Refresh
пишет что
ошибка
синтаксиса в предложении FROM
хотя база подключена
и в ней есть таблица
TOYOTA
Отправлен: 07.05.2007, 13:53
Вопрос задал: Rdl (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 9)

Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Rdl!
(думаю речь идет о Access, если ошибся извините)
Если на Вашей форме есть контрол с именем "KuzovVyb", а таблице "TOYOTA" есть поле "Kuzov" с типом данных 'String' то запрос "ругаться" не будет, даже если поле "KuzovVyb" будет пустым (Null).
Проверьте соответствие имен и типов данных, все должно заработать.
Удачи.
Евгений.
P.S.
'при смене источника строк, совершенно не обязательно перемещаться на первую запись - набор записей меняется, и обновлять контрол - на него и так ложится новый список.
Ответ отправил: Тесленко Евгений Алексеевич (статус: 7-ой класс)
Ответ отправлен: 07.05.2007, 20:59


Вопрос № 85.909
Здравствуйте, уважаемые эксперты!
Помогите, пожалуйста. Нужно создать папку в VBA название и путь и путь к которой содержатся в ячейке Q4 на листе EXCEL.
Отправлен: 07.05.2007, 20:05
Вопрос задала: LUDMILA_S (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, LUDMILA_S!
В начале небольшое условие:
в ячейке содержится путь к каталогу на диске в виде
ИмяДискаИзОднойБуквы + двоеточие + обратный слэш + путь к каталогу с подкаталогами
желательно имя каталогов вводить без пробелов латинским алфавитом.
Для примера вводим в ячейку D:2345
Создаем макрос с содержимым в приложении и запускаем ( макрос рабочий и проверен практически ) .
Сложная запись определения существования подкаталога на диске. Рассмотрим подробно для подкаталога 3 :
1. До начала обработки в цикле значение i = 5
2. Следующий слэш возвращается функцией InStr ( i + 1 , Str , "" ) - ищем с 6 позиции в переменной Str обратный слэш - это значение 7
3. Затем из переменной Str выделяем начальные 6 символов - Mid ( Str , 1 , InStr ( i + 1 , Str , "" ) - 1 ) ) и передаем это значению функции Dir, которая определяет наличие такого каталога на диске. В случае наличия на диске, функция вернет имя каталога, который у нас находится между 5 и 7 позициями в строке - именно его мы и сравниваем Mid ( Str , i + 1 , InStr ( i + 1 , Str , "" ) - i - 1 )
4. Если такого подкаталога не существует, то мы его создаем функцией MkDir ( Mid ( Str , 1 , InStr ( i + 1 , Str , "" ) - 1 ) ) - дело в том, что если промежуточные подкаталоги на диске не существуют, то при создании сразу последнего каталога ( 5 ) высветится сообщение об ощибке.

Может сильно заумно написал, но писать программу проще, чем описывать принцип работы.
Если вид записи подкаталога отличается ( например сетевой диск с явным указанием имени компьютера ) , то нужно будет изменить обработку имени диска и пути.
Если будут вопросы, пишите Jones@rusfaq.ru
С уважением.

Приложение:

Ответ отправил: Филатов Евгений Геннадьевич (статус: 7-ой класс)
Ответ отправлен: 07.05.2007, 21:14
Оценка за ответ: 5
Комментарий оценки:
Не помогло, каталог сетевой.

Отвечает: HookEst
Здравствуйте, LUDMILA_S!
Вот еще небольшой вариант исползует то, что если папка существует MkDir вызывает ошибку.
Проверил на сетевых(\MASTERdfolder...) и локальных путях(\d:...) и с пробелами и с русскими буквами.
Sub t()

Path = CStr(Range("Q4"))

dirs = Split(Path, "")

On Error Resume Next

p = ""

For Each d In dirs
p = p & d
MkDir p
p = p & ""
Next d

End Sub
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 08.05.2007, 06:17
Оценка за ответ: 5
Комментарий оценки:
Супер! Ура! Все получилось! Большое спасибо.


Вопрос № 85.940
Уважаемые эксперты. Я недавно сделал программу, которая создает статистику по частоте букв в документе. Но с большими файлами она начинает зависать. Как мне избавиться от этой проблемы(и вообще проблемы обработки больших файлов)?
Отправлен: 07.05.2007, 23:31
Вопрос задал: Мамедов Ильяс Мустафа оглы (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: NRJ
Здравствуйте, Мамедов Ильяс Мустафа оглы!
Варианты:
1)Вывести прогрессБар и наслаждаться процессом
2) Разбивать большие файлы на куски.
3) Обратить внимание на тип данных для всех переменных.
Ответ отправил: NRJ (статус: 2-ой класс)
Ответ отправлен: 08.05.2007, 10:14


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100

В избранное