Теперь я хочу использовать этот частичный макрос для моих очень специфических ситуаций. У меня есть 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