powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Экспорт картинок из Excel на диск
83 сообщений из 83, показаны все 4 страниц
Экспорт картинок из Excel на диск
    #36713290
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые программисты.
Сразу хочу сказать, что я ни разу не программист и с Excel не очень дружу, но была поставлена задача написать макрос. Сама задача:
существует база данных в Excel, в ней в одной из колонок находятся значения (ID номера персонала), в колонке напротив фотографии (сами фотографии помещены в ячейки). Необходимо вытащить эти фотографии на диск из ячеек и присвоить этим фотографиям имена из столбца с ID номера персонала. Пример: допустим 5 строка, Вася Пупкин, 652314 (ID номер), :) (фото), необходимо сохранить фото на диск и чтобы имя фотки было 652314. Ручным способ делать это не вариант, так как таких Васей Пупкиных (т.е. строк) более 4 тыс. Скажите возможно ли написать такой макрос и если не сложно, то не могли бы вы мне в этом помочь, к сожалению, ссылки на литературу или просьба само обучиться не помогут.
Все откликнувшимся заранее спасибо!
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713344
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственный вариант — сохранить файл в формате xlsx, который является zip-архивом. В нем будет папка worksheets c xml-файлами, обозначающими листы. Рисунок обозначается текстом <drawing r:id="rIdxxx" />, где xxx — идентификатор рисунка. В папке drawings находится xml с описанием рисунка, из которого можно вытащить ячейку, к которой он отностится. В папке drawings\rels находится xml с названием файла, содержащим картинку. Картинки хранятся в папке media.

Короче, задача нетривиальная.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713353
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Спасибо большое за оперативность, попробую разобраться с тем, что вы мне написали )
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713368
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, макросом через объектную модель экселя это сделать нельзя.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713372
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жаль, но спасибо за ответ.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713376
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВ общем, макросом через объектную модель экселя это сделать нельзя.

А может и можно....
Сохраняем документ как html-страницу. Все картинки выкладываются в определенную папку и нумеруются (условно) image001, image002, image003... и т.п. Скорее всего картинки будут располагаться в том порядке, в каком они встречаются в документе. После этого сделать цикл по ячейкам с кодами, параллельно переименовывая файлы в соответствии с кодами.

Надо попробовать.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713406
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProAntonariyВ общем, макросом через объектную модель экселя это сделать нельзя.

А может и можно....
Сохраняем документ как html-страницу. Все картинки выкладываются в определенную папку и нумеруются (условно) image001, image002, image003... и т.п. Скорее всего картинки будут располагаться в том порядке, в каком они встречаются в документе. После этого сделать цикл по ячейкам с кодами, параллельно переименовывая файлы в соответствии с кодами.

Надо попробовать.

Может быть изначально не совсем полную информацию дал (уж простите, только не бейте), есть база данных по пропускам в парадоксе, после экспорта в Excel, фотки в итоге так и не получилось экспортировать в ячейки, их экспортировали через браузер на диск на как их привязать к ID понятия не имею, в общем сам запутался и вам мозг запудрил, ссори.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713430
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbagМожет быть изначально не совсем полную информацию дал (уж простите, только не бейте), есть база данных по пропускам в парадоксе, после экспорта в Excel, фотки в итоге так и не получилось экспортировать в ячейки, их экспортировали через браузер на диск на как их привязать к ID понятия не имею, в общем сам запутался и вам мозг запудрил, ссори.
Так может файлы брать прям из базы?
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713441
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProartfulbagМожет быть изначально не совсем полную информацию дал (уж простите, только не бейте), есть база данных по пропускам в парадоксе, после экспорта в Excel, фотки в итоге так и не получилось экспортировать в ячейки, их экспортировали через браузер на диск на как их привязать к ID понятия не имею, в общем сам запутался и вам мозг запудрил, ссори.
Так может файлы брать прям из базы?

Вот эти мозг себе и выносим, эксель был как промежуточный этапом между парадоксам и эскуэлем. Всем спасибо за ответы, буду капать в др. направлении.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713442
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProСохраняем документ как html-страницу.Собственно, на этом заканчивается использование объектной модели )))
При сохранении в html рисунки дублируются в форматах gif и png, причем нумерация у них сквозная невзирая на тип. И это 2007, а 2003 сохраняет только текущий лист без всяких рисунков.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713463
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyShocker.ProСохраняем документ как html-страницу.Собственно, на этом заканчивается использование объектной модели )))
При сохранении в html рисунки дублируются в форматах gif и png, причем нумерация у них сквозная невзирая на тип. И это 2007, а 2003 сохраняет только текущий лист без всяких рисунков.
Я к тому, что это можно сделать самим экселем, не разбирая файл внешними средствами. Кроме того, а почему пробежка по ячейкам не является использованием объектной модели?

Что касается сохранения - вот я сейчас попробовал из 2000-го экселя - все нормально сохранилось с картинками.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713470
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что- то явно не то ТС затеял. надо напрямую работать с базой парадокса и оттуда вытягивать данные.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713481
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneчто- то явно не то ТС затеял. надо напрямую работать с базой парадокса и оттуда вытягивать данные.
Это-то понятно...
Мы уже тут в академическую область ушли
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713486
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProKonst_Oneчто- то явно не то ТС затеял. надо напрямую работать с базой парадокса и оттуда вытягивать данные.
Это-то понятно...
Мы уже тут в академическую область ушли

что-то часто в последнее время вас туда заносит
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36713505
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ещё вариант с вытаскиванием рисунка через clipboard, но недостатков в нём тоже достаточно.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714363
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БенедиктЕсть ещё вариант с вытаскиванием рисунка через clipboard, но недостатков в нём тоже достаточно.

Ну, когда потребовалось, я тоже сохранял через Clipboard. Правда недостатков не заметил - все требуемые картинки выдернулись на ура...

Код: plaintext
\n                        Dim oPic As IPictureDisp\n...\n                        Set es = ex.Shapes(rs!n)\n                        \'Copy a picture on the chart with the correct format to the clipboard\n                        es.CopyPicture xlPrinter, xlPicture\n                        \'Retrieve the picture from the clipboard...\n                        Set oPic = PastePicture(xlPicture)\n...\n                        SavePictureToFile oPic, "D:\\....\\GIF\\" & s & ".gif", GIF\n

PastePicture, насколько помню, брал отсюда: здесь ...
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714621
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrF,

Попробовал, весьма кошерно, правда придется доработать напильничком. Но вариант супер. В копилку.. спасибо
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714653
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПри сохранении в html рисунки дублируются в форматах gif и png, причем нумерация у них сквозная невзирая на тип. И это 2007, а 2003 сохраняет только текущий лист без всяких рисунков.

2007-ой в этом плане мне дюже нравится - собственно его файл это ZIP-архив в котором все красиво разложено. Потому, при желании, его можно и весьма просто читать/создавать самому без Excel-я на компьютере - структура проекта понимается достаточно просто...
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714782
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFНу, когда потребовалось, я тоже сохранял через Clipboard. Правда недостатков не заметил - все требуемые картинки выдернулись на ура...Выдёргиваются, да. Недостатков по меньшей мере два: 1) (непростительный с моей ТЗ, хотя - хум хау) потеря оригинальных свойств (формат, размер, и т. д.), 2) работа через clipboard. Но есть плюс в виде возможности "бесплатной" конвертации в JPEG, PNG, GIF, метафайл (WMF, EMF).
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714863
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanus,

Всем спасибо за ответы, задача несколько изменилась. Поясню, что для чего нужно, а потом дам задачу, а вы, если пожелаете, подскажите возможно это сделать или нет, а если возможно, то может быть поможете :). Одна организация меняет ПО охранной системы, ранее (и пока, по сей день) там установлена PERCo (система контроля пропусков, турникетов и т.п., она работает на базе данных парадокс, в ней содержаться ФИО, номера пропусков, фото и т.п. сотрудников), сейчас организация решила перейти на сименский SiPas (Сипас работает уже не с парадоксом, а с sql), поэтому глобальная задача такова: перенести базу из PERCo в SiPAS. В самом SiPase импорт из парадокса не предусмотрен, просто тупо конвертировать (с помощью конвертеров) саму базу из парадокса в sql, а затем sql подкладывать под SiPAS не получается, т.к. конвертируются не все данные корректно, поэтому решили использовать третий вариант. В SiPASe есть возможность импорта из Excel, а парадокс можно залить в excel, только к сожалению без фото. А теперь локальная задача:
Есть база в EXCEL из парадокса, но в этой базе не хватает фото. Фото выдернули на диск из парадокса с помощью утилиты (выдернули в том порядке в котором они есть в базе, т.е. на диске они выглядят так: image000001 соответствует первой колонке Excel, image000002, соответствует второй колонке и т.п., имя фото повышается на 1, т.е. все по порядку). Необходимо поместить в соответствующие ячейки Excel, ссылки на фото, т.е. в ячейку первой строки ссылка на путь image000001, в ячейке следующей строки ссылка на image000002 и т.д. почти 4 тысячи строк.
Понимаю, что все это запутано и похоже на смерть через мабуту, но все же может кто поможет.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714877
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

ну задача поместить ссылки вроде бы не сложная, но вы уверены, что результат вы сможете затянуть в MSSQL? Я думаю, что нет. Или нужно, чтобы в MSSQL оказались именно ссылки, а не сами картинки?
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714896
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Сипасе (молюсь Одину и надеюсь, что все получится) есть встроенный импорт из Excel, через этот импорт он Excel базу дернет себе и конвертнет (опять молюсь) как надо, для себя в sql
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714904
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно выглядит это не очень, самого аж передергивает, но ничего лучше не придумали, сами мы не местные (программисты), поэтому извращаемся как умеем, но задачу решить надо нам, таковы реалии суровой рыночной экономики :)
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714907
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbagВ Сипасе (молюсь Одину и надеюсь, что все получится) есть встроенный импорт из Excel, через этот импорт он Excel базу дернет себе и конвертнет (опять молюсь) как надо, для себя в sql
Так вы сначала вручную сделайте тестовый файл, проверьте, а потом извращайтесь.
А то импорт бинарников - дело тонкое....
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36714914
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProartfulbagВ Сипасе (молюсь Одину и надеюсь, что все получится) есть встроенный импорт из Excel, через этот импорт он Excel базу дернет себе и конвертнет (опять молюсь) как надо, для себя в sql
Так вы сначала вручную сделайте тестовый файл, проверьте, а потом извращайтесь.
А то импорт бинарников - дело тонкое....
Спасибо за наводку, по результатам тестов отпишусь.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715160
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Результат тестов таков, корректно открывается тестовый файл Excel с фоткой в SiPassе. Поэтому задача актуальна, буду благодарен если поможете с задачей которую формулировал выше.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715182
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbagРезультат тестов таков, корректно открывается тестовый файл Excel с фоткой в SiPassе. Поэтому задача актуальна, буду благодарен если поможете с задачей которую
формулировал выше.
Так как выглядит при этом этот файл?
Может образец файла выложите?
Желательно, чтобы там было несколько фоток.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715276
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

К сожалению как это выглядит в самом SiPASSe показать не могу, но кусок базы отправляю во вложении, в итоге вот что должно получиться, так как база реальная, то естественно фамилии и имена изменены
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715280
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где ФОТО\image00000x - это папка с фотками
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715295
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

Отлично, а теперь вопрос, а что собственно не получается?
Параллельный вопрос - последовательность нумерации фото совпадает с последовательностью строк в эксельном файле?
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715341
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proartfulbag,

Отлично, а теперь вопрос, а что собственно не получается?
Параллельный вопрос - последовательность нумерации фото совпадает с последовательностью строк в эксельном файле?

Все хорошо, фото совпадают с последовательностью строк в excel, только одно НО, в этом примере я показал вам три строки и ссылки на фото указал руками, а в настоящей базе таких строк более 4 тыс. и руками указывать я устану :(, может есть возможность как-то это дело автоматизировать, например, чтобы он сам загружал из папки с фотками, ссылки на фото, в соответствующие ячейки соответствующие ссылки фоток, все фотки пронумерованы по порядку, т.е. ....001 (имя фотки) - 1столбец, ...002 - 2столбец и т.д.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715350
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения в посте выше не столбец, а строка
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715385
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

разумеется.
а это должно быть именно ссылками или достаточно просто текста "Фото\image000002.jpg" в ячейке?
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715428
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proartfulbag,

разумеется.
а это должно быть именно ссылками или достаточно просто текста "Фото\image000002.jpg" в ячейке?

Должны быть ссылки, просто текст вместо ссылок бесполезен :)
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715447
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ладно, набросаю сейчас, как понял, вы VBA не знаете?
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715467
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

К сожалению нет.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715485
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artfulbag,

И еще после того как ссылки будут вставлен можно их связать с какой-нибудь ячейкой, например, имя, если включить фильтр по именам, чтобы фото соответствовали
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715486
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub Макрос1()
    
Dim i As Integer, k As String
For i =  1  To  500 
  k = Format$(i, "000000")
  'заполняем текст ячейки:
  ActiveSheet.Cells(i,  32 ) = "Фото\image" + k + ".jpg" 
  'создаем ссылку:
  ActiveSheet.Hyperlinks.Add Anchor:=Cells(i,  32 ), Address:="Фото\image" + k + ".jpg"
Next

End Sub

Вот так, надеюсь, разберетесь, как запустить (Сервис=>Макросы)
цифру 500 исправляйте на количество строк, которые надо обработать.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715490
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715492
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbagИ еще после того как ссылки будут вставлен можно их связать с какой-нибудь ячейкой, например, имя, если включить фильтр по именам, чтобы фото соответствовали
Честно говоря, не очень понял, что требуется
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715501
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProartfulbagИ еще после того как ссылки будут вставлен можно их связать с какой-нибудь ячейкой, например, имя, если включить фильтр по именам, чтобы фото соответствовали
Честно говоря, не очень понял, что требуется

Не сочтите за неуважение, но хотелось, чтобы привязка была, например: строка 18 - Вася Пупкин - 4564565 (номер пропуска) - ссылка на фото (Васи Пупкина), после сортировки имен по алфавитному порядку, Вася Пупкин попадает в 115 строку, останется ли при этом ссылка на фото Пупкина или в ячейке где хранятся ссылки на фото будет ссылка не из 18 строки, а из 115.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715512
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbagНе сочтите за неуважение, но хотелось, чтобы привязка была, например: строка 18 - Вася Пупкин - 4564565 (номер пропуска) - ссылка на фото (Васи Пупкина), после сортировки имен по алфавитному порядку, Вася Пупкин попадает в 115 строку, останется ли при этом ссылка на фото Пупкина или в ячейке где хранятся ссылки на фото будет ссылка не из 18 строки, а из 115.
надо при сортировке выделить ВСЕ столбцы, тогда привязка останется.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715514
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОК, спасибо еще раз, буду пробовать.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715770
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artfulbag,

После того как открыл Excel и запустил макрос, появляется следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Sub Макрос1()
    
Dim i As Integer, k As String
For i =  1  To  3682 
  k = Format$(i, "000000")
  'заполняем текст ячейки:
  ActiveSheet.Cells(i,  32 ) = "C:\Users\chuev-aa\Desktop\STAFF1_files\dbtexp" + k + ".jpg"
  'создаем ссылку:
  ActiveSheet.Hyperlinks.Add Anchor:=Cells(i,  32 ), Address:="C:\Users\chuev-aa\Desktop\STAFF1_files\dbtexp" + k + ".jpg"
Next

    Range("A1:C2").Select
    Application.WindowState = xlMinimized
    Application.WindowState = xlNormal
    Range("A1").Select
    Application.WindowState = xlMinimized
    Application.WindowState = xlNormal
    Range("C1").Select
End Sub
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715776
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artfulbag,

Больше ничего не происходит, ссылок в ячейках нет :(
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715786
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где появляется? Вы запустили запись макроса что ли? не надо, надо просто создать макрос, вставить мой текст и выполнить его.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715812
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProГде появляется? Вы запустили запись макроса что ли? не надо, надо просто создать макрос, вставить мой текст и выполнить его.

надо было ему кнопку нарисовать на формочке и макрос туда привязать, а то как в фильме:
"Ури, где у него кнопка?" (c)приключения электроника
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715815
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно я по глупости записал макрос, после этого заново создал макрос с вашим текстом (естественно подправив путь и название файлов), но после того как нажимаю выполнить alt+f8, он на несколько секунд думает и ничего не происходит
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715818
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения сам дурак, все заработало - спасибо большущие ребятушки, очень рад ))))
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715924
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Замучил, вас Shocker.Pro, наверно. Но возник еще один вопрос где в макросе подправить значение, чтобы заполнение происходило со второй строки, а не с первой, если не сложно подскажите.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715939
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub Макрос1()
    
Dim i As Integer, k As String
For i =  2  To  500 
  k = Format$(i- 1 , "000000")
  'заполняем текст ячейки:
  ActiveSheet.Cells(i,  32 ) = "Фото\image" + k + ".jpg" 
  'создаем ссылку:
  ActiveSheet.Hyperlinks.Add Anchor:=Cells(i,  32 ), Address:="Фото\image" + k + ".jpg"
Next

End Sub
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36715945
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub Макрос1()
    
Dim i As Integer, k As String
For i =  2  To  500 
  k = Format$(i- 1 , "000000")
  'заполняем текст ячейки:
  ActiveSheet.Cells(i,  32 ) = "Фото\image" + k + ".jpg" 
  'создаем ссылку:
  ActiveSheet.Hyperlinks.Add Anchor:=Cells(i,  32 ), Address:="Фото\image" + k + ".jpg"
Next

End Sub


Еще раз спасибо.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36717180
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artfulbag,

Снова здравствуйте. Чайник опять в деле. Господа, программисты, прошу помочь в следующем деле. Есть ли такая возможность написать макрос или каким-либо другим способом помочь решить следующий вопрос:
Есть столбецы: с уникальными номерами (ID номер), ФИО и т.п., а так же столбец с ссылками на фотографии. Необходимо переименовать фотографии и присвоить имена из столбца с уникальными номерами, т.е. например, ФИО - Пэрис Хилтон, должность - пуско-наладчица, ID - 123, Фото носит имя photo000001.jpg, а должно быть 123.jpg

Для примера, во вложении часть базы, в качестве ID - 1-ый столбец (т.е. А), ссылка с фотками в столбце (AF)

Понимаю, что это уже вторая задача, но может все же поможете, если такое возможно.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36717319
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub к()

Dim i As Integer
For i =  2  To  5 
  Name Cells(i,  32 ).Value As "c:\1\" + CStr(Cells(i,  1 ).Value) + ".jpg"
Next

End Sub
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36717324
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

думаю как нибудь вот так

Код: plaintext
1.
2.
3.
4.
5.
For i =  2  To  65535   ' цикл со второй строки до конца книги
If Cells(i,  1 ) = "" Then Exit For  ' если первый столбик пуст выходим из цикла
Name Cells(i,  32 ) As ("D:\STAFF1_files\" & Cells(i,  1 ) & ".jpg")  ' именуем файл по ссылке в столбце 32 
                                                                                   ' так же как Id в столбце 1

Next ' конец цикла


никаких проверок при этом не проводится
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36717333
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub к()

Dim i As Integer
For i =  2  To  5 
  Name Cells(i,  32 ).Value As "c:\1\" + CStr(Cells(i,  1 ).Value) + ".jpg"
Next

End Sub


опередил пока я писал комменты :)
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36717336
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shamanusопередил пока я писал комменты :)
у тебя было время, пока я искал команду переименования файла
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36717364
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо вам большое, сейчас попробую
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36717454
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отчет с полей: макрос помог - файлы переименованы - я счастлив - вам огромное спасибо.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36743716
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, еще раз, надеюсь поможете. Существует Excel файл, в нем около 3,5 тыс. человек персонала, напротив каждого человека есть один столбец с ссылками на соответствующее фото на диск, нумерация фото сквозная (dbtexp000001.jpg, dbtexp000002.jpg и т.д. файлик с примером прикрепил во вложении), если есть возможность (т.е. фактически возможно), то помогите пожалуйста в написании макроса для переименования этих файлов (как ранее в этой теме уже писал, абсолютный ноль в программировании, а тем более на ВижуалБэйсике). Необходимо все эти файлы переименовать (00000090P.JPG, 00000091P.JPG..., 0000009DP.JPG) вот в такой вид, особенности: 1) фото необходимо переименовывать с увеличением на 1, а система счисления 16-ая, то есть следующая после 00000099P.JPG, должна быть 0000009АP.JPG и т.д. 2) если есть возможность ткните носом где в макросе прописывается путь к фото 3) Еще раз ткните носом где я смогу изменить имя первоначального (от которого пойдет отчет) файла. Просто пока точно не известно его имя, (для примера первое фото может быть как 00000090P.JPG, так и 0000007СP.JPG, так и 00000083P.JPG и т.д.) 4) менятся не должна часть после цифр, т.е. буква P всегда остается (0000006F - переменная часть, P.JPG, постоянная часть)
Буду благодарен любой помощи.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36744306
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

а зачем тут вообще нужен файл?
Файлы пронумерованы по порядку, перенумеровать их надо тоже по порядку. Может я неверно понимаю ТЗ?
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36744308
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, вот:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim FName As String, FNewNum As String, Offset As Long, FNum As Long
Offset = &H 90 
ChDir "c:\3\"

FName = Dir("dbtexp*.jpg")
Do Until FName = ""
  FNum = Val(Mid$(FName,  7 , Len(FName) -  6  -  4 ))
  FNewNum = Hex(FNum + Offset -  1 )
  Name FName As String( 8  - Len(FNewNum), "0") + FNewNum + "P.JPG"
  FName = Dir
Loop
выделено задание пути и стартовый номер - задается в шестнадцатеричной системе
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36744365
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProВ общем, вот:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim FName As String, FNewNum As String, Offset As Long, FNum As Long
Offset = &H 90 
ChDir "c:\3\"

FName = Dir("dbtexp*.jpg")
Do Until FName = ""
  FNum = Val(Mid$(FName,  7 , Len(FName) -  6  -  4 ))
  FNewNum = Hex(FNum + Offset -  1 )
  Name FName As String( 8  - Len(FNewNum), "0") + FNewNum + "P.JPG"
  FName = Dir
Loop
выделено задание пути и стартовый номер - задается в шестнадцатеричной системе

Shocker.Pro. спасибо вам большое, хотел бы спросить, а стартовый номер можно задавать в 16-ричной системе счисления? Стартовый номер - это первый человек (в Excel строка номер 2), а переименовывать фото надо со второго человека (строка номер 3), т.к. Первому (2-ая строка) фото в Сипас вносится в ручном режиме, а затем от него (стартового номера) начинается увеличения имени на 1. Ткните пожалуйста где сделать переименование имени с 3-ей строки
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36744375
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artfulbagShocker.ProВ общем, вот:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim FName As String, FNewNum As String, Offset As Long, FNum As Long
Offset = &H 90 
ChDir "c:\3\"

FName = Dir("dbtexp*.jpg")
Do Until FName = ""
  FNum = Val(Mid$(FName,  7 , Len(FName) -  6  -  4 ))
  FNewNum = Hex(FNum + Offset -  1 )
  Name FName As String( 8  - Len(FNewNum), "0") + FNewNum + "P.JPG"
  FName = Dir
Loop
выделено задание пути и стартовый номер - задается в шестнадцатеричной системе

Shocker.Pro. спасибо вам большое, хотел бы спросить, а стартовый номер можно задавать в 16-ричной системе счисления? Стартовый номер - это первый человек (в Excel строка номер 2), а переименовывать фото надо со второго человека (строка номер 3), т.к. Первому (2-ая строка) фото в Сипас вносится в ручном режиме, а затем от него (стартового номера) начинается увеличения имени на 1. Ткните пожалуйста где сделать переименование имени с 3-ей строки

Кстати в имени фото (нового) получается 5 нулей, а надо шесть, это можно как-то исправить?
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36744376
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения, все ок - 6-ть нолей
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36744378
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все работает спасибо, вот только бы еще нумерацию настроить со второго человека (3-я строка), а не с первого и тогда долбанный сипас, при вашей помощи, будет побежден.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36744443
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artfulbagВсе работает спасибо, вот только бы еще нумерацию настроить со второго человека (3-я строка), а не с первого и тогда долбанный сипас, при вашей помощи, будет побежден.

Подумал и решил, что переделывать в макросе ничего не надо, то что есть будет достаточно, все файлы переименовываются как надо, большущее всем спасибо, особенная благодарность Шокеру про
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748030
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже обрадовался, что все решено, но к сожалению это не так. С фотографиями все в порядке, но появилась новая задача, очередной раз прошу помощи. Сама задача такова: существуют в базе персонала (в Excel файле) два столбца (F - FacilityId, G - CardId), в этих столбцах числа в 10-ричной системе счисления, числа в этих столбцах необходимо перевести в двоичную систему (F - восемь знаков (G - 16 знаков)), необходимо получить столбец с новым числом, состоящим из 24 знаков и преобразовать обратно это число в 10-ое. Пример, столбец F - 21, в столбце G - 23349, раскладываем столбец F, получаем 10101, т.к. в первом столбце должно быть 8 символов, то добавляем к нему недостающие нули и получаем 00010101 (для столбца F не принципиально, можно не делать), затем столбец G - 101101100110101, проверяем, получается, что знаков 15, и добавляем впереди ноль (обязательно) и получим 0101101100110101 16 знаков, оба числа подготовлены, теперь создаем новое число путем совмещения (не знаю как правильно называется это математическая операция):
000101010101101100110101 - теперь это одно число из 24 знаков, перегоняем его обратно в 10 систему счисления и получаем, что оно равно 1399605. Сделать это надо почти для 3,5 тыс. строка, поэтому в ручную не вариант, если нужно то тестовый пример базы во вложении. Если такое возможно сделать, то прошу помочь. Благодарен любой помощи.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748032
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот вложение
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748264
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

интернет подсказал такое решение
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748293
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanusartfulbag,

интернет подсказал такое решение

Спасибо, все работает очень, Вам, благодарен.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748330
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artfulbagShamanusartfulbag,

интернет подсказал такое решение

Спасибо, все работает очень, Вам, благодарен.

Поспешил, при копировании команды и вставки ее в оригинальный документ, в поле появляется #ИМЯ?
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748356
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может нужен еще макрос, если да то выложите пожалуйста исходник, чтобы в другом документе можно было провернуть тоже самое.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748371
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

там в коде модуля, находятся две процедуры, их нужно скопировать в книгу, где вы проводите вычисления.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748376
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

Кстати я не проверял корректность вычислений, если у Вас уже есть решенный пример, проверьте на нем.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748441
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanusartfulbag,

Кстати я не проверял корректность вычислений, если у Вас уже есть решенный пример, проверьте на нем.

Решение корректно, а как посмотреть код модуля, я нуб, так что не селен в этом
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748460
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

код модуля смотрится сочетанием Alt+F11.

Нажимаете его в любом месте, и увидите все объекты которые содержит Excel-вская книга. Вот пример того, что Вы должны увидеть если у Вас открыт файл test.xlsm. (скрин)
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748471
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanusartfulbag,

код модуля смотрится сочетанием Alt+F11.

Нажимаете его в любом месте, и увидите все объекты которые содержит Excel-вская книга. Вот пример того, что Вы должны увидеть если у Вас открыт файл test.xlsm. (скрин)

Спасибо разобрался, все получилось.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748488
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще один вопрос, а как-то можно, чтобы в ячейке стало просто число, а не функция, мне это надо для импорта в БД, а то прога в которую я импортирую данные не понимает функцию
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748508
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artfulbag,

ну вопрос не совсем ясен.

Это регулярно делать или разово? Если разово, то выделите все ячейки где у Вас находится функция, нажмите правой клавишей мыши, выскочит меню.

Там сначала выбираете Копировать . Потом опять правой кнопкой. Там выбираете Специальная вставка - в ней Значения
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36748521
artfulbag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanusartfulbag,

ну вопрос не совсем ясен.

Это регулярно делать или разово? Если разово, то выделите все ячейки где у Вас находится функция, нажмите правой клавишей мыши, выскочит меню.

Там сначала выбираете Копировать . Потом опять правой кнопкой. Там выбираете Специальная вставка - в ней Значения

Это разово, спасибо вам большое.
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36780320
freak132
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanus,

Глубокоуважаемые программисты объясните как пользоваться макросом и как его вставить.Чуствую себя хуже новичка. Но попросили помочь.
Есть файлы Excel с фотографиями внутри. 2 столбца: фотография и название.
Нужно вытащить фотографии из файла, причем чтобы названия картинок совпадали с соответствующим названием.
Реально ли такое сделать?
И если можно то как запустить макрос в экселе чтобы это сработало?
Если нужны подробности 403103566
...
Рейтинг: 0 / 0
Экспорт картинок из Excel на диск
    #36780792
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freak132Глубокоуважаемые программисты объясните как пользоваться макросом и как его вставить.Чуствую себя хуже новичка. Но попросили помочь.

Тут это уже пережевано...

P.S
Я, конечно, все понимаю, но если совсем не разбираешься, то не проще ли договориться и заплатить за работу тому кто может все сделать? Или свести исполнителя с заказчиком. Данная работа много стоить не будет, но все же люди хотя бы не просто так будут один и тот же код в сотый раз писать выполняя работу за тех кого попросили...
...
Рейтинг: 0 / 0
83 сообщений из 83, показаны все 4 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Экспорт картинок из Excel на диск
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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