By yy1004 op Woensdag 09 juni 2021
Geplaatst in Excel
Antwoorden 0
sympathieën 0
keer bekeken 2.7K
Stemmen 0
Ik heb een macro die werkt om het geselecteerde tabblad als een pdf op te slaan in een geselecteerd bestandspad en te e-mailen naar een lijst met mensen in een bepaalde cel, maar wat ik niet correct aan het werk kan krijgen, is dat de naam van die opgeslagen en bijgevoegde pdf een celwaarde in het werkblad. Zou om het even welke hulp waarderen. Ik heb verschillende dingen geprobeerd die ik via deze forums heb gevonden, maar ik krijg steeds een foutmelding, dus ik ga terug naar mijn opgeslagen code. Hieronder is waar ik ben: Sub Saveaspdfandsend2()Dim xSht As WorksheetDim xFileDlg As FileDialogDialogDim xFolder As StringDim xYesorNo As IntegerDim xOutlookObj As ObjectDim xEmailObj As ObjectDim xUsedRng, xRgInser As RangeDim xB xFolder = xPath + "\" + xSht.Name + ".pdf" If Len(Dir(xFolder)) > 0 ThenxYesorNo = MsgBox(xFolder & " bestaat al." & vbCrLf & vbCrLf & "Wilt u het overschrijven? ", _vbYesNo + vbQuestion, "File Exists")Bij fout Hervatten NextIf xYesorNo = vbYes ThenKill xFolderElseMsgBox "als u de bestaande PDF niet overschrijft, kan ik niet doorgaan." _& vbCrLf & vbCrLf & "Druk op OK om deze macro af te sluiten.", vbCritical, "Macro afsluiten"Exit SubEnd IfIf Err.Number <> 0 ThenMsgBox "Kan het bestaande bestand niet verwijderen. Zorg ervoor dat het bestand niet geopend of beveiligd is tegen schrijven. " _& vbCrLf & vbCrLf & "Druk op OK om deze macro af te sluiten.", vbCritical, "Kan bestand niet verwijderen"Exit SubEnd IfEnd If Set xUsedRng = xSht.UsedRangeIf Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then'Save as PDF-bestandxSht.ExportAsFixedFormat Type:=xlTypePDF, bestandsnaam:=xFolder, Quality:=xlQualityStandard 'Maak Outlook emailSet xOutlookObj = CreateObject("Outlook.Application")Set xEmailObj = xOutlookObj.CreateItem(0)Met xEmailObj. "S7").CC = Range("S8").BCC = Range("S5").Subject = Range("S6") + "-" + xStr + ".pdf".Attachments.Add xFolderIf DisplayEmail = False Dan'.SendEnd IfEnd WithElseMsgBox "Het actieve werkblad mag niet leeg zijn"Exit SubEnd IfEnd Sub
Bekijk het volledige bericht