Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как из имени генерируемого файла исключить все символы типа "" / -, кроме букв / 6 сообщений из 6, страница 1 из 1
08.02.2010, 01:40
    #36454557
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из имени генерируемого файла исключить все символы типа "" / -, кроме букв
Программа ежедневно генерирует файлы с данными
Название файла должно состоять из даты (ГОД-МЕСЯЦ-ДЕНЬ) и полного имени юрлица.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim ИМЯ_ФАЙЛА_ЗАПРОСА As Variant
On Error Resume Next
   ' Удаление всех файлов с расширением XL* из заданной папки
   Kill "C:\001\" & "*.xl*"
'ИМЯ ФАЙЛА НАДО ГЕНЕРИРОВАТЬ ДАТЫ И ИЗ ПОЛНОГО ИМЕНИ ПЛАТЕЛЬЩИКА
'ПРОБЛЕМА !!! ЕСли в названии компании  есть кавычки - файл не создается
ИМЯ_ФАЙЛА_ЗАПРОСА = Year([ ДАТА_СЧЕТА ].Value) & "_" & Month([ ДАТА_СЧЕТА ].Value) & "_" & Day([ ДАТА_СЧЕТА ].Value) & "_" & [ ИМЯ_ПЛАТЕЛЬЩИКА ].Value & ".xls"
Sheets("S_ZK").Select
Sheets("S_ZK").Copy
    ActiveWorkbook.SaveAs FileName:= _
        "C:\001\" & ИМЯ_ФАЙЛА_ЗАПРОСА, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Sheets("S_ZK").Select

А как убрать все "неправильные" символы , которые нельзя использовать в имени файла из
"ИМЯ_ПЛАТЕЛЬЩИКА"?
Не перебирать же циклом с проверкой?
...
Рейтинг: 0 / 0
08.02.2010, 06:26
    #36454599
Как из имени генерируемого файла исключить все символы типа "" / -, кроме букв
Dan-K,

Regular Expressions

ЗЫ: если программист говорит: "Я решу эту проблему с помоцью регулярных выражений, - значит, у него уже две проблемы"
(С) .... не помню уже кто

ЗЗЫ: а чем цикл не подхдит в данном случае? Замен то всего 10, плюс кавычки
...
Рейтинг: 0 / 0
08.02.2010, 09:16
    #36454673
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из имени генерируемого файла исключить все символы типа "" / -, кроме букв
Dan-K,

Off
А зачем вы используете такие конструкции
Код: plaintext
1.
Dim ИМЯ_ФАЙЛА_ЗАПРОСА As Variant
On Error Resume Next
...
Рейтинг: 0 / 0
08.02.2010, 10:24
    #36454757
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из имени генерируемого файла исключить все символы типа "" / -, кроме букв
Код: plaintext
On Error Resume Next
использовалось при отладке- торопился задать вопрос на форуме и не убрал
Код: plaintext
Dim ИМЯ_ФАЙЛА_ЗАПРОСА$
хотел указать тип данных переменных String и как обычно ...забыл...

Исправлюсь...
...
Рейтинг: 0 / 0
08.02.2010, 10:40
    #36454788
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из имени генерируемого файла исключить все символы типа "" / -, кроме букв
Можно без цикла :)
Код: plaintext
1.
2.
   fn = Replace(fn, Chr( 47 ), "-")
   fn = Replace(fn, Chr( 92 ), "-")
Я так убирал все диакритические знаки, они тоже ведут себя непредсказуемо в имени файла.
...
Рейтинг: 0 / 0
09.02.2010, 16:27
    #36458231
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из имени генерируемого файла исключить все символы типа "" / -, кроме букв
То что нужно, но я в итоге сделал лучше и проше - воткнул в имя файла не Название конторы, а ИНН. Количество цифр всегда одно и то же и выборку файлов проще сделать в последствии...
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как из имени генерируемого файла исключить все символы типа "" / -, кроме букв / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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