Я хотел бы сделать код VBA в Excel, но я застрял. Я хочу, чтобы он взял мой лист, где у меня есть несколько страниц для печати (50 страниц на одном листе).
На каждой странице печати есть сумма, и если эта сумма больше 0, я хочу преобразовать эту страницу в pdf и отправить страницу печати на электронное письмо на странице (так что это разные электронные письма).
Сумма указана в F22
, а электронная почта в B8
на стр. 1.
Сумма указана в F72
, а электронная почта в B58
на стр. 2.
Таким образом, диапазон изменяется на 50 строк на каждой странице.
Область электронной почты: B2:F50
на первой странице и B52:F100
на второй странице, B102:F150
на третьей.
Я пытался, но могу сделать это только с 1 страницей и 1 электронным письмом.
вот код, который у меня есть, работа на 1 странице
Sub RDB_Selection_Range_To_PDF_And_Create_Mail()
Dim Charge As Integer
Charge = ThisWorkbook.Sheets("Crosscharge").Cells(23, 6).Value
If Charge > 0 Then
Dim FileName As String
If ActiveWindow.SelectedSheets.Count > 1 Then
MsgBox "There is more then one sheet selected," & vbNewLine & _
"ungroup the sheets and try the macro again"
Else
'Call the function with the correct arguments
'For a fixed range use this line
FileName = RDB_Create_PDF(Source:=Range("B2:F50"), _
FixedFilePathName:="", _
OverwriteIfFileExist:=True, _
OpenPDFAfterPublish:=False)
If FileName <> "" Then
RDB_Mail_PDF_Outlook FileNamePDF:=FileName, _
StrTo:="Email", _
StrCC:="", _
StrBCC:="", _
StrSubject:="Text", _
Signature:=True, _
Send:=False, _
StrBody:="<H3><B>Dear Customer</B></H3><br>" & _
"<body>See the attached PDF file with the." & _
"<br><br>" & "Kind regards</body>"
Else
MsgBox "Not possible to create the PDF, possible reasons:" & vbNewLine & _
"Microsoft Add-in is not installed" & vbNewLine & _
"You Canceled the GetSaveAsFilename dialog" & vbNewLine & _
"The path to Save the file in arg 2 is not correct" & vbNewLine & _
"You didn't want to overwrite the existing PDF if it exist"
End If
End If
End Sub
Надеюсь, вы можете помочь