Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.11.2009, 23:21   #11
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Код:
    Предприятие = Replace([a4], """", "'")    ' заменяем двойные кавычки одинарными '
    If IsDate(дата) Then НовоеИмяФайла = Предприятие & " " & НовоеИмяФайла & _
       " " & LCase(Format(дата, "MMMM YYYY"))
столкнулся с тем, что не все ковычки заменяются если их больше 2-х
xamillion вне форума
Старый 28.11.2009, 23:54   #12
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от xamillion Посмотреть сообщение
столкнулся с тем, что не все ковычки заменяются если их больше 2-х
Код:
Предприятие = Replace([a4], Chr(34), "'")
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума
Старый 01.12.2009, 00:25   #13
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

спасибо - помогло
xamillion вне форума
Старый 02.12.2009, 13:57   #14
AChrist
Пользователь
 
Регистрация: 29.11.2008
Сообщений: 31
По умолчанию

Добры, у меня похожа проблема. у меня есть в колонке скажем A:A гиперссылки на файлы которые у меня на компе. Можно переделать макрос этот, чтоб он переименовывал сами файлы на компе исходя из данных в колонке B, C, D скажем и менял гиперссылку на переименованный файл.

Пример:
A1 = D:\image0011.jpg, B1 = 1, C1 = 1, D1 = 1 ---> A1 = D:\1_1_1.jpg
A2 = D:\image0084.jpg, B2 = 1, C2 = 1, D2 = 2 ---> A2 = D:\1_1_2.jpg
и так далее.
AChrist вне форума
Старый 02.12.2009, 14:39   #15
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Можно переделать макрос этот, чтоб он переименовывал сами файлы на компе исходя из данных в колонке B, C, D скажем и менял гиперссылку на переименованный файл.
Да, можно.
Прикрепите к сообщению архив с файлом Excel и папкой с картинками.

Цитата:
A1 = D:\image0011.jpg
На момент запуска все эти файлы jpg будут существовать?
Что делать, если файл не найден?
Что делать, если нет доступа к файлу? (он открыт другой прогой, например, и переименовать его невозможно)
Файлы всегда будут располагаться в корне диска?
EducatedFool вне форума
Старый 02.12.2009, 15:38   #16
AChrist
Пользователь
 
Регистрация: 29.11.2008
Сообщений: 31
По умолчанию

Цитата:
На момент запуска все эти файлы jpg будут существовать?
Да.

Цитата:
Что делать, если файл не найден?
Мало вероятно, так как сначала ссылки прописываю. Но по возможности можно будет добавить просто значение в ячейку "missing".

Цитата:
Что делать, если нет доступа к файлу?
Так как это действие будет выполнятся редко, думаю просто чтоб макрос выдал ошибку достаточно.

Цитата:
Файлы всегда будут располагаться в корне диска?
Не всегда. Путь может быть D:\Folder\subfolder\subfolder вообщем во вложенных папках.
Путь можно оставлять тот же, только переименовать файл.
Вложения
Тип файла: zip example.zip (13.4 Кб, 31 просмотров)

Последний раз редактировалось AChrist; 02.12.2009 в 16:06.
AChrist вне форума
Старый 05.12.2009, 17:41   #17
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Проверяйте:

Код:
Sub test()
    On Error Resume Next
    Dim cell As Range: Application.ScreenUpdating = False
    For Each cell In Range([A2], Range("A" & Rows.Count).End(xlUp)).Cells ' перебираем ячейки в столбце А
        Путь = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, cell.Hyperlinks(1).Address)
        ИмяФайла = Left(Dir(Путь), InStrRev(Dir(Путь), ".") - 1) ' имя без расширения
        НовоеИмя = cell(1, 2) & "_" & cell(1, 3) & "_" & cell(1, 4) ' имя из ячеек
        cell.Hyperlinks(1).Address = Replace(Dir(Путь), ИмяФайла, НовоеИмя) ' меняем гиперссылку
        Name Путь As Replace(Путь, ИмяФайла, НовоеИмя) ' переименование файла
    Next cell
End Sub
Обрабатываются файлы только в той папке, где расположена книга Excel
EducatedFool вне форума
Старый 07.12.2009, 13:27   #18
AChrist
Пользователь
 
Регистрация: 29.11.2008
Сообщений: 31
По умолчанию

спасибо, работает отлично.

Только до меня не сразу дошло когда я поменял колонку с которой надо переименовывать, что значения для ячеек такие же надо было оставить. Для меня это было новое так как не знаком с тем что "Range" так работает.
AChrist вне форума
Старый 24.12.2009, 21:17   #19
xamillion
Форумчанин
 
Аватар для xamillion
 
Регистрация: 30.09.2008
Сообщений: 138
По умолчанию

теперь появилась необходимость не только переименовывать, а и удалять файлики по условию если пустая ячейка...
xamillion вне форума
Старый 24.12.2009, 21:52   #20
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Код:
if cell = "" then Kill  Путь
Только вопрос: а откуда брать путь к файлу, если ячейка пустая?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формирование списка файлов в папке на листе. mephist Microsoft Office Excel 3 12.08.2009 17:59
Переименование группы файлов Meh Общие вопросы Delphi 2 28.07.2009 12:31
Как сделать поиск файлов в папке BETONOMESHALKA Общие вопросы Delphi 3 01.02.2008 22:43
Просмотр файлов в папке и подпапках Yar Помощь студентам 9 07.08.2007 16:56