![]() |
|
как получить гиперссылки списком в Екселе с картинок ? | ☑ | ||
---|---|---|---|---|
0
EtRima
14.01.17
✎
15:15
|
есть прайс.
много-много картинок в Екселе. каждая картинка содержит гиперсссылку. не могу найти способ чтоб вывести список ссылок пример картинок с гиперссылками https://yadi.sk/i/20rrAhsp38w3sr спасибо |
|||
1
Неверный Параметр И
14.01.17
✎
18:59
|
Минимум один способ есть, но он тебе не понравится.
|
|||
2
Неверный Параметр И
14.01.17
✎
19:01
|
Есть и второй способ, но он окажется сложным для тебя
|
|||
3
Неверный Параметр И
14.01.17
✎
19:01
|
Какие ты уже испробовала?
|
|||
4
EtRima
15.01.17
✎
00:32
|
(3) ты шо, я тупая, шо я могла придумать ? ничего .... ((
|
|||
5
DrZombi
гуру
15.01.17
✎
09:28
|
(4) Используй магию фото, в личной карточке :)
|
|||
6
EtRima
16.01.17
✎
12:15
|
(5) а по существу ?
|
|||
7
EtRima
16.01.17
✎
15:18
|
никто не знает ?
|
|||
8
Vaflya
16.01.17
✎
15:34
|
не делал, но наверно через ком брать каждую картинку и смотреть ее ссылку, методы работы с экселем на соответствующих ресурсах
|
|||
9
EtRima
16.01.17
✎
17:07
|
(8) это что вы только что сказали ? ))))
вот с ссылками есть примеры в нете, а картинки вроде как к ячейкам не привязаны, нипанятна (( |
|||
10
lock19
16.01.17
✎
17:26
|
(0) Распаковываете zip и выковыриваете из *.rels
|
|||
11
Vaflya
16.01.17
✎
17:37
|
тут же нашел
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 будет ссылка, хотя и не факт) информации много, особенно в гугле |
|||
12
xaozai
16.01.17
✎
17:37
|
||||
13
EtRima
16.01.17
✎
17:43
|
(10) а можно как то более поэтапно ? Откуда зип ? Запаковать, а потом распаковать ?
|
|||
14
Vaflya
16.01.17
✎
17:46
|
здесь ссылка
MyShape.Hyperlink.Address |
|||
15
EtRima
16.01.17
✎
17:52
|
(14) эту процедуру из (11) в какую-то ячейку тулить ?
в какую ? не могу определить, в какой ячейке картинка (( |
|||
16
trdm
16.01.17
✎
17:53
|
(15) Это код для 1Сv8
|
|||
17
EtRima
16.01.17
✎
17:56
|
(16) т.е. невозможно перебрать лист Ексель, не подключая 1С ?
|
|||
18
Остап Сулейманович
16.01.17
✎
18:00
|
(15) Картинки не находятся ни в каких ячейках. Это коллекция листа.
Путь к первой картинке такой : ActiveWorkbook.ActiveSheet.Shapes.Item(1).Hyperlink.Address |
|||
19
trdm
16.01.17
✎
18:01
|
(17) Возможно. Воспользуйтесь vbs.
|
|||
20
trdm
16.01.17
✎
18:02
|
(19) Наберите в поисковике "vbs открыть файл excel"
|
|||
21
Остап Сулейманович
16.01.17
✎
18:03
|
+ (18) Положение на листе задается так :
ActiveWorkbook.ActiveSheet.Shapes.Item(1).TopLeftCell.Column ActiveWorkbook.ActiveSheet.Shapes.Item(1).TopLeftCell.Row |
|||
22
trdm
16.01.17
✎
18:04
|
Это если ты программист и бабки за это получаешь, если нет - оформляй заказ и плати бабки, люди все сделают.
|
|||
23
Остап Сулейманович
16.01.17
✎
18:04
|
(20) Ей нужно не снаружи. Ей нужно внутри листа. И VBS в этом случае нужно заменить на VBA.
|
|||
24
EtRima
16.01.17
✎
18:04
|
(19) мммм.... а для блондинки можно перевести ?
что-то я вообще.... все сложнее и сложнее ((((( ааааааа плакаю ((( |
|||
25
EtRima
16.01.17
✎
18:06
|
(22) я думала, что ссылки картинок вывести не очень сложно, типа как обычные ссылки (((
|
|||
26
Остап Сулейманович
16.01.17
✎
18:06
|
(24) Для блондинки написано (22)
|
|||
27
trdm
16.01.17
✎
18:06
|
(25) Выводи, разрешаю.
|
|||
28
trdm
16.01.17
✎
18:06
|
||||
29
Остап Сулейманович
16.01.17
✎
18:07
|
(25) "Обычные" ссылки вводятся руцями. Точно также можно ввести и прочитать гиперссылки установленные для картинок.
|
|||
30
EtRima
16.01.17
✎
18:07
|
(18) где этот ActiveWorkbook.ActiveSheet.Shapes.Item(1).TopLeftCell.Column записать нужно ? в ячейку ?
|
|||
31
EtRima
16.01.17
✎
18:10
|
(28) да, это очень похоже. Вот я открываю вкладку Рзработчик в Екселе, а потом что ?
|
|||
32
trdm
16.01.17
✎
18:11
|
(31) А потом ждешь в этой теме свободного и доброго прога, который найдет время тебе помочь.
|
|||
33
EtRima
16.01.17
✎
18:13
|
(32) аааа просмотр кода! я записала его с поддержкой макросов! и сохранила! а потом что ?
|
|||
34
EtRima
16.01.17
✎
18:14
|
а теперь наверное нужно вызвать процедуру эту ? как ?
|
|||
35
EtRima
16.01.17
✎
18:21
|
(29) так их много, очень много
|
|||
36
trdm
16.01.17
✎
18:22
|
(0) > не могу найти способ чтоб вывести список ссылок
Куда вывести? |
|||
37
EtRima
16.01.17
✎
18:24
|
(36) в список. В соседнюю с картинками ячейки например.
|
|||
38
EtRima
16.01.17
✎
18:24
|
(26) да я слабый прог. Так, помощник ....
|
|||
39
EtRima
16.01.17
✎
18:30
|
(32) скоко вы хотите денег ?
блин, не пойму как вызвать процедуру |
|||
40
trdm
16.01.17
✎
18:31
|
(39) Я в vba не силен.
|
|||
41
Tatitutu
16.01.17
✎
18:33
|
(39) Alt+F11 откроется редактор макросов
|
|||
42
EtRima
16.01.17
✎
18:37
|
(41) да, и я туда записала это. А теперь нужно вызвать на выполнение. Как ?
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, "http://www.excel-vba.ru") = vbYes) If Not IsForEachWbFolder Then sImagesPath = Environ("userprofile") & "\desktop\images\" '" 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, "http://www.excel-vba.ru" End Sub |
|||
43
EtRima
16.01.17
✎
18:39
|
я нажала Run.
оно спросило меня ""Сохранять картинки каждой книги в отдельную папку?" и ничего дальше не произошло ((( |
|||
44
EtRima
16.01.17
✎
18:40
|
а если жму "нет" , то Еrror 76 ((
|
|||
45
EtRima
16.01.17
✎
18:43
|
вообще-то, мне не нужно сохранять картинки.
мне нужно список гиперссылок этих картинок (( |
|||
46
EtRima
16.01.17
✎
19:20
|
процедура выполнилась.
картинки записались в папку. но мне картинки не нужны были (( |
|||
47
Tatitutu
16.01.17
✎
21:31
|
(46) это Пять баллов!
"ОЧЕНЬ жаль" что там не было функции к...ll () Как можно запускать что то не зная какой будет результат? |
|||
48
trdm
16.01.17
✎
21:55
|
Ветка о любви к халяве.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |