• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

save, print en mail

Status
Niet open voor verdere reacties.

pinobird

Gebruiker
Lid geworden
13 okt 2010
Berichten
22
LS.,

Weet iemand hoe ik in Excel een knop kan maken die drie dingen doet:
  • Print de sheet in tweevoud
  • Sla de sheet op met als bestandsnaam de waarde in een bepaalde cel
  • Mail de sheet naar het mailadres dat in een bepaalde cel staat

Als de waarde in de cel voor de bestandsnaam/mailadres niet ingevuld is moet er een foutmelding komen.

Mocht dit te complex worden dan ma het mailen weggelaten worden.

Groeten en bedankt,
Hans
 
Ik verwacht dat heel veel mensen dat weten. Ik verwacht ook dat het plaatsen van een representatief voorbeeldbestand hierbij gaat helpen om vragen/ onduidelijkheden te voorkomen.

Bv. bevat de bepaalde cel alleen "bestandnaam", of "bestandsnaam+extensie" of "pad+bestandsnaam" of ....

Maak je daarnaast gebruik van Outlook of een ander mailprogramma?
 
Ik heb helaas geen tijd meer, maar hier alvast mijn opzetje. Het e-mail gedeelte zit er nog niet in. De aanroep is naar een lege module ... Dit is iets complexer omdat je een aantal fouten af moet vangen (bv. staat Outlook open). Misschien kan iemand anders je hiermee verder helpen :)

Ik zag dat je de naam wilt gebruiken als bestandsnaam, dus daar heb ik een pad voorgezet (C:\Temp) en de extensie achter geplakt.

Je moet de macro "DoeVanAlles" aan de knop hangen en het bestand opslaan als .xlsm (macro-enabled workbook)
Code:
Sub DoeVanAlles()
    Application.ScreenUpdating = False
    Call SlaOp
    Call Uitdraaien
    Call VerzendenViaOutlook
    Application.ScreenUpdating = True
End Sub

Sub SlaOp()
Dim strFileName As String
Dim wbIn, wbOut As Workbook

strFileName = "C:\Temp\" & Range("C4").Value & ".xlsx"
wbIn = ActiveWorkbook.Name

    Set wbOut = Workbooks.Add
    Workbooks(wbIn).Worksheets("Bestelformulier Kleding 2017").Range("A:M").Copy
    wbOut.Worksheets("Sheet1").Range("A1").PasteSpecial
    wbOut.Worksheets("Sheet1").Range("A1").Select
    wbOut.SaveAs Filename:=strFileName
    wbOut.Close
End Sub

Sub Uitdraaien()
    ActiveSheet.PrintOut copies:=2
End Sub

Sub VerzendenViaOutlook()

End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan