Имя: Пароль:
IT
Админ
как получить гиперссылки списком в Екселе с картинок ?
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
Ветка о любви к халяве.