• 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.

macro aanpassen om bestand te beveiligen met paswoord voor het mailen

Status
Niet open voor verdere reacties.

davylenders123

Gebruiker
Lid geworden
20 jun 2010
Berichten
902
Ik heb de volgende code in een macro staan die het bestandje mailt door op de button te klikken.

Code:
ActiveSheet.Unprotect Password:="1230"
    Cells.Select
    Selection.Locked = True
    Selection.FormulaHidden = False
    Range("A1").Select
    ActiveSheet.Protect Password:="1230", DrawingObjects:=True, Contents:=True, Scenarios:=True
Deze haalt eerst het paswoord eraf en zet het voor het mailen er terug op.

Nu wil ik die macro gebruiken in een ander bestand waar geen wachtwoord op de tab bladen staat.
Maar het zou de tabbladen wel moeten vergrendelen met een wachtwoord als hij de mail verstuurd.

Wat moet ik dan aanpassen aan de macro ?


Hieronder even voor de duidelijkheid heel de macro die mailt.

Code:
Const EMBED_ATTACHMENT As Long = 1454
Const vaCopyTo As Variant = "" 'copy mailen naar: "adres"

Sub mail()


 Dim vaRecipients As Variant
  Dim noSession As Object
  Dim noDatabase As Object
  Dim noDocument As Object
  Dim noEmbedObject As Object
  Dim noAttachment As Object

If vbNo = MsgBox("Ben je wel zeker dat je die mail wil verzenden", vbYesNo) Then Exit Sub
If vbNo = MsgBox("Heb je lotus notus open staan?", vbYesNo) Then Exit Sub



ActiveSheet.Unprotect Password:="1230"
    Cells.Select
    Selection.Locked = True
    Selection.FormulaHidden = False
    Range("A1").Select
    ActiveSheet.Protect Password:="1230", DrawingObjects:=True, Contents:=True, Scenarios:=True


ActiveWorkbook.SaveAs Filename:=("T:\Mag-Data\Aantal sorteerproces\Bestandjes al doorgemaild" & "\Managementbestand_TUR  " & " Van " & Format(Now, "dd-mm-yyyy hh" & "u " & "mm") & ".xls")
stpath = "T:\Mag-Data\Aantal sorteerproces\Bestandjes al doorgemaild" 'locactie waar bijlage staat
stsubject = "Managementbestand_TUR  " & Date & " .xls"
'& Sheets("Routes").Cells(2, 2).Value & " .xls" _

vamsg = "Anne, " & vbCrLf & vbCrLf & vbCrLf & vbCrLf & _
"Heb het bestandje klaar. " & vbCrLf & vbCrLf & vbCrLf & vbCrLf & _
"Je moet me gewoon nog even doorgeven wat er standaard in de mail moet komen op de plaats waar je dit nu leest. " & vbCrLf & vbCrLf & _
"En de mail adressen van de personen die dit bestandje moeten krijgen . " & vbCrLf & vbCrLf & _
"Dan hoef je enkel u lotus open te zetten en in het bestandje op de button doormailen klikken en de mail wordt gestuurd met het bestandje in bijlage . " & vbCrLf & vbCrLf & _
      "Met Vriendelijke Groeten" & vbCrLf & vbCrLf & _
      "Verantwoordelijke extra toeren "



'mailbody voorzien van gegevens
stfilename = "Bestandje om te mailen naar st niklaas .xls" 'Bestandsnaam
stattachment = ("T:\Mag-Data\Aantal sorteerproces\Bestandjes al doorgemaild" & "\Managementbestand_TUR  " & " Van " & Format(Now, "dd-mm-yyyy hh" & "u " & "mm") & ".xls")
vaRecipients = VBA.Array("5875@fff.kk", "5245@fff.be", "5875@hotmail.com")  'mailadressen("eerste ontvanger" , "tweede ontvanger", enz.)

                  'Bepaal de Lotus Notes COM's Objecten.
                  Set noSession = CreateObject("Notes.NotesSession")
                  Set noDatabase = noSession.GETDATABASE("", "")
                  
                  'Als Lotus Notes niet open is open dan het mail-gedeelte ervan.
                  If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
                 
                  'Maak de e-mail en de bijlage.
                  Set noDocument = noDatabase.CreateDocument
                  Set noAttachment = noDocument.CreateRichTextItem("stAttachment")
                  Set noEmbedObject = noAttachment.EmbedObject(EMBED_ATTACHMENT, "", stattachment)
                                 
                  'Voeg de gegevens toe aan de gemaakte e-mail eigenschappen.
                  With noDocument
                    .Form = "Memo"
                    .SendTo = vaRecipients
                    .CopyTo = vaCopyTo
                    .Subject = stsubject
                    .Body = vamsg
                    .SaveMessageOnSend = True
                    .PostedDate = Now()
                   .Send 0, vaRecipients
                  End With
                 
                          
                  'Verwijder objecten uit het geheugen.
                  Set noEmbedObject = Nothing
                  Set noAttachment = Nothing
                  Set noDocument = Nothing
                  Set noDatabase = Nothing
                  Set noSession = Nothing
                  
                  MsgBox "De e - mail is correct verstuurd ", vbInformation



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