У меня есть пользовательская форма Excel с многостраничным элементом управления, содержащая в настоящее время 9 страниц.Каждая страница содержит информацию о сборке для конкретного компонента с размерами, введенными пользователем.У меня есть изображение, вставленное на каждую страницу, показывающее дизайн каждого компонента и текстовые поля в верхней части изображения, которые пользователь вводит в пользовательские измерения для производственных расчетов.Все, что я хочу сделать, это создать файлы изображений на основе определенной структуры имен, которые могут быть связаны с несколькими ячейками в Excel.Например, я хотел бы, чтобы пользователь сохранял пользовательскую форму, чтобы изображения каждого многостраничного представления были названы и помещены в определенные ячейки на листе.Имена должны соответствовать уникальному идентификатору, который я использую с суффиксом, чтобы я мог переключаться между проектами на странице своего проекта, и изображения для каждого компонента будут меняться в зависимости от имени.У меня настроена страница проекта, и я могу справиться с переключателем. Мне нужна помощь в циклическом переборе многостраничных страниц, создании файлов изображений для части каждой страницы и сохранении в определенном месте.
Спасибо за помощь!
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const VK_SNAPSHOT = 44
Const VK_LMENU = 164
Const KEYEVENTF_KEYUP = 2
Const KEYEVENTF_EXTENDEDKEY = 1
Private Sub CommandButton2_Click()
Dim pdfName As String
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
DoEvents 'Otherwise, all of screen would be pasted as if PrtScn rather than Alt+PrtScn was used for the copy.
ThisWorkbook.Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.PasteSpecial Format:="Bitmap", Link:=False, DisplayAsIcon:=False
pdfName = ActiveWorkbook.Path & "\" & Me.Name & " " & Format(Now, "yyyy-mmm-dd") & ".pdf"
'Debug.Print pdfName
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=pdfName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Worksheets(Worksheets.Count).Delete
Unload Me
End Sub