Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA Excel вставка картинок / 13 сообщений из 13, страница 1 из 1
12.05.2017, 15:20
    #39452181
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
коллеги, нужна ваша помощь.

Формируется отчет, в конце когда отчет уже готов, мне необходимо в ячейку перед артикулом вставить картинки.
артикулов около 3000.
Я вставляю их так:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
....
    With Application
        .ScreenUpdating = False
        .calculation = xlCalculationManual
        .EnableEvents = False
        .DisplayStatusBar = False
        .DisplayAlerts = False
   End With

For r = 2 To 3000
      If oSH.Cells(r, 2) <> "" Then _
        Call fun_InsertPicture(oSH, oSH.Cells(r, 2), oSH.Cells(r, 1),45)
Next

    With Application
        .ScreenUpdating = True
        .calculation = xlCalculationAutomatic
        .EnableEvents = True
        .DisplayStatusBar = True
        .DisplayAlerts = True
   End With
....


Public Function fun_InsertPicture(ByVal oWS As Worksheet _
                                 ,ByVal Article As String _
                                 ,ByVal oRange As range _
                                 ,ByVal SizePicture As Double)
Dim oShape As Shape
       
'PathPicture переменная там путь к папке на сетевом диске
On Error GoTo err
    Article = PathPicture & Article & ".jpg"
    With oRange
       oWS.Shapes.AddPicture(Article, msoTrue, msoTrue, .Left + 1, .Top + 1, SizePicture, SizePicture)
    End With

    Exit Function
err:
    Exit Function

End Function



Вопрос: как этот процесс ускорить, может есть какой то другой способ?
Каждая картинка примерно 20кб
...
Рейтинг: 0 / 0
18.05.2017, 17:33
    #39455568
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
есть идеи?
...
Рейтинг: 0 / 0
19.05.2017, 10:21
    #39455876
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
Focha,

Сколько времени сейчас занимает вставка ?
Сколько нужно получить ?
...
Рейтинг: 0 / 0
19.05.2017, 11:17
    #39455950
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
big-dukeFocha,

Сколько времени сейчас занимает вставка ?
10-15 минут
Сколько нужно получить ?
очень хотелось бы не больше минуты.


Может быть из-за сети?
...
Рейтинг: 0 / 0
23.05.2017, 10:57
    #39457820
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
Fochabig-dukeFocha,

Сколько времени сейчас занимает вставка ?
10-15 минут
Сколько нужно получить ?
очень хотелось бы не больше минуты.


Может быть из-за сети?
Что мешает проверить - разместить файлы локально и замерить время ?
...
Рейтинг: 0 / 0
25.05.2017, 09:25
    #39459314
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
big-dukeFochaпропущено...


Может быть из-за сети?
Что мешает проверить - разместить файлы локально и замерить время ?

проверил, 7-9 минут стало.
Вообщем другого алгоритма нет?
...
Рейтинг: 0 / 0
03.06.2017, 19:40
    #39465295
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
нет идей?
...
Рейтинг: 0 / 0
04.06.2017, 13:59
    #39465463
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
Focha,

Можно попробовать поиграться с картинками - уменьшить размер, png, прогресивный джипег итд
Отчеты можно генерить и по расписанию , на том же SSRS
...
Рейтинг: 0 / 0
05.06.2017, 09:24
    #39465703
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
big-dukeFocha,

Можно попробовать поиграться с картинками - уменьшить размер, png, прогресивный джипег итд
Отчеты можно генерить и по расписанию , на том же SSRS
Картинки сжал в jpg, особа не помогло, картинки и так мало весят.
...
Рейтинг: 0 / 0
05.06.2017, 09:25
    #39465704
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
big-dukeFocha,

Можно попробовать поиграться с картинками - уменьшить размер, png, прогресивный джипег итд
Отчеты можно генерить и по расписанию , на том же SSRS
SSRS тут причем? я же про VBA говорю.
...
Рейтинг: 0 / 0
05.06.2017, 09:50
    #39465716
просто я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
Focha,
если не "прятать" Excel, скорость изменится?
...
Рейтинг: 0 / 0
05.06.2017, 11:15
    #39465769
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
Fochaесть идеи?

Время должно сократиться еще, если как можно меньше работать с индивидуальными ячейками. Для начала скопировать область проверки в массив и обращаться к функции вставки картинки через этот массив. Я протестировал с картинкой размером 184 кб, которая лежит локально, Excel тоже локально. 100 вставок Вашим методом заняли 1078 миллисекунд, другим методом (ниже) 220 миллисекунд.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Dim wb As Workbook
Dim sh As Worksheet
Dim rn As Range
Dim sPicPath As String

Set wb = ThisWorkbook
Set sh = wb.Sheets(1)
Set rn = sh.Range(sRng)
sPicPath = "..."

With sh.Pictures.Insert(sPicPath)
    With .ShapeRange
        .LockAspectRatio = msoTrue
        .Width = 45
        .Height = 45
    End With
    .Left = rn.Left
    .Top = rn.Top
    .Placement = 1
    .PrintObject = True
End With
...
Рейтинг: 0 / 0
05.06.2017, 11:26
    #39465785
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel вставка картинок
Fochabig-dukeFocha,

Можно попробовать поиграться с картинками - уменьшить размер, png, прогресивный джипег итд
Отчеты можно генерить и по расписанию , на том же SSRS
SSRS тут причем? я же про VBA говорю.
Я к тому, что может вам инструмент поменять ?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA Excel вставка картинок / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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