#0
by EtRima
есть прайс. много-много картинок в Екселе. каждая картинка содержит гиперсссылку. не могу найти способ чтоб вывести список ссылок пример картинок с гиперссылками спасибо
#8
by Vaflya
не делал, но наверно через ком брать каждую картинку и смотреть ее ссылку, методы работы с экселем на соответствующих ресурсах
#9
by EtRima
это что вы только что сказали ? )))) вот с ссылками есть примеры в нете, а картинки вроде как к ячейкам не привязаны, нипанятна ((
#11
by Vaflya
тут же нашел myOlApp = Новый COMОбъект ("excel.Application"); MyWo= myOlApp.Workbooks.Open(MyPath, , True); MySheet=MyWo.Worksheets(MyList); Для Каждого MyPic Из MySheet.Pictures Цикл MyShape=MySheet.Shapes(MyPic.Name); MyShape.CopyPicture; наверно в свойствах MyPic будет ссылка, хотя и не факт) информации много, особенно в гугле
#15
by EtRima
эту процедуру из в какую-то ячейку тулить ? в какую ? не могу определить, в какой ячейке картинка ((
#18
by Остап Сулейманович
Картинки не находятся ни в каких ячейках. Это коллекция листа. Путь к первой картинке такой : ActiveWorkbook.ActiveSheet.Shapes.Item.Hyperlink.Address
#21
by Остап Сулейманович
+ Положение на листе задается так : ActiveWorkbook.ActiveSheet.Shapes.Item.TopLeftCell.Column ActiveWorkbook.ActiveSheet.Shapes.Item.TopLeftCell.Row
#22
by trdm
Это если ты программист и бабки за это получаешь, если нет - оформляй заказ и плати бабки, люди все сделают.
#23
by Остап Сулейманович
Ей нужно не снаружи. Ей нужно внутри листа. И VBS в этом случае нужно заменить на VBA.
#24
by EtRima
мммм.... а для блондинки можно перевести ? что-то я вообще.... все сложнее и сложнее ((((( ааааааа плакаю (((
#29
by Остап Сулейманович
"Обычные" ссылки вводятся руцями. Точно также можно ввести и прочитать гиперссылки установленные для картинок.
#30
by EtRima
где этот ActiveWorkbook.ActiveSheet.Shapes.Item.TopLeftCell.Column записать нужно ? в ячейку ?
#42
by EtRima
да, и я туда записала это. А теперь нужно вызвать на выполнение. Как ? Sub Save_Object_As_Picture Dim avFiles, li As Long, oObj As Object, wsSh As Worksheet, wsTmpSh As Worksheet Dim sImagesPath As String, sBookName As String, sName As String Dim wbAct As Workbook Dim IsForEachWbFolder As Boolean avFiles = Application.GetOpenFilename("Excel Files(*.xls*),*.xls*", , "Выбрать файлы", , True) If VarType(avFiles) = vbBoolean Then Exit Sub IsForEachWbFolder = (MsgBox("Сохранять картинки каждой книги в отдельную папку?", vbQuestion + vbYesNo, ";) = vbYes) If Not IsForEachWbFolder Then sImagesPath = Environ("userprofile") & "desktopimages" '" If Dir(sImagesPath, 16) = "" Then MkDir sImagesPath End If End If On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False Set wsTmpSh = ThisWorkbook.Sheets.Add For li = LBound(avFiles) To UBound(avFiles) Set wbAct = Workbooks.Open(avFiles(li), False) 'создаем папку для сохранения картинок If IsForEachWbFolder Then sImagesPath = wbAct.Path & "" & wbAct.Name & "_images" If Dir(sImagesPath, 16) = "" Then MkDir sImagesPath End If End If sBookName = wbAct.Name For Each wsSh In Sheets For Each oObj In wsSh.Shapes If oObj.Type = 13 Then '13 - картинки '1 - автофигуры '3 - диаграммы oObj.Copy sName = ActiveWorkbook.Name & "_" & wsSh.Name & "_" & oObj.Name With wsTmpSh.ChartObjects.Add(0, 0, oObj.Width, oObj.Height).Chart .ChartArea.Border.LineStyle = 0 .Parent.Select .Paste .Export Filename:=sImagesPath & sName & ".jpg", FilterName:="JPG" .Parent.Delete End With End If Next oObj Next wsSh wbAct.Close 0 Next li Set oObj = Nothing: Set wsSh = Nothing wsTmpSh.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "Объекты сохранены", vbInformation, "; End Sub
#43
by EtRima
я нажала Run. оно спросило меня ""Сохранять картинки каждой книги в отдельную папку?" и ничего дальше не произошло (((
#45
by EtRima
вообще-то, мне не нужно сохранять картинки. мне нужно список гиперссылок этих картинок ((
#47
by Tatitutu
это Пять баллов! "ОЧЕНЬ жаль" что там не было функции к...ll Как можно запускать что то не зная какой будет результат?
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Получить id и получить объект по id
- Как программно получить получить пароль пользователя в текущем сеансе работ
- Как получить разность дат (Нужно получить количество дней)
- Как получить значение из поля со списком?
- Как получить ГУИД элемента по OLE, записать и получить по нему ссылку?
- Как получить значение гиперссылки в реквизит? БП 2.0
В этой группе 1С
- Дополнительный реквизит в УНФ
- Обнаружена неизвестная транзакция: 54
- v7: ИТС техно для 7.7 более ограничен чем для 8?
- УТ 11.2 Печать комплекта документов
- Своя объектная модель платформы типа 1С для Андроида
- Оформление торговой выручки в УТ 10.3 при эквайриноговых операциях
- корректировка выручки по расчетам в валюте
- Скидки при возврате товаров (УТ11.3)
- ШТРИХ-М Ошибка 20
- Автоматическое обновление базовой бухгалтерии 2.0 перестало работать
- РАЗНОСТЬДАТ для периодического регистра сведений
- v7: Можно-ли программно вызывать методы формы документа?
- v7: обновление 1с 7.7 sql-версии
- 1C (8.3.8.2137) + Postgres (9.6) + WinS12x64 + создание пустой базы = 0
- Процедура после окончания обработки проведения
- Пароль на расширение
- Не получается установить Windows 10 на Xiaomi Mi Notebook Air 13.3"
- Выдано исключение типа "System.OutOfMemoryException". Модуль Природопользования
- Отбор по виду занятости справочника сотрудники
- при обновлении вырос размер папки 1Cv8FTxt