Манипулирование краской через Excel VBA - PullRequest
0 голосов
/ 15 апреля 2019

Теперь я хочу использовать этот частичный макрос для моих очень специфических ситуаций. У меня есть 365 вкладок, которые я хочу скопировать диапазон ячеек (НЕ диаграммы) из Excel и вставить в Paint. Изображения должны быть сохранены в определенной папке.

Примечание. Мне известен этот вопрос, но на данный момент нет правильного ответа на этот вопрос: Работа с Ms Paint с использованием excel-VBA

Я уже пробовал с большим количеством проб и ошибок на (i) Рекурсивные функции, где каждая рабочая таблица должна обрабатываться макросами (выберите диапазон) (2) Как открыть Paint (с помощью shell execute)

Теперь я застрял: (См. Пример программы с кодом #)

(i) Как сохранить изображения в png и в определенных местах (см. Path_TargetFolder) (ii) Как закрыть после сохранения файлов в этом месте

Sub savepng()

Dim ws As Worksheet
Dim starting_ws As Worksheet

Dim path_Folder As String
Dim pathPaint
'All images are saved into this folder
path_TargetFolder = "C:\OtherFolder\"


Set starting_ws = ActiveSheet 'remember which worksheet is active in the beginning

'Recursive functions
For Each ws In ThisWorkbook.Worksheets
    ws.Activate
    'Select a range
    Range("B1:T11").Select
    Selection.Copy

    'Opens up the Paint Program
    pathPaint = Shell("c:\windows\system32\mspaint.exe", vbMaximizedFocus)
    'Send Ctrl V key to simulate paste from Excel
    Call SendKeys("^V")

   '#Save the files in png according to tab name
   '#Save the files in the path_TargetFolder
   '#Close the paint to prevent memory not enough
   '    Code Ends
Next

starting_ws.Activate 'activate the worksheet that was originally active

End Sub

Ожидаемые результаты: C: \ OtherFolder \ должен иметь 365 файлов PNG

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...