+ Reply to Thread
Results 1 to 2 of 2

Macro to add password based on cell value

Hybrid View

  1. #1
    Registered User
    Join Date
    01-19-2012
    Location
    San Diego, CA
    MS-Off Ver
    Excel 2010
    Posts
    3

    Macro to add password based on cell value

    Hello,

    I have a workbook which contains several sheets that are emailed to individual end users (each user has their own sheet). I have a macro that copies each sheet and emails based on the email within the sheet. What I want to do now is add a password to each created sheet based on a value that is in cell G3. So in the end everyone gets their own data that has a unique password.

    Here is the code so far:

    Sub Email_Each_Sheet()
    'Working in 2000-2010
        Dim Source As Range
        Dim Dest As Workbook
        Dim wb As Workbook
        Dim TempFilePath As String
        Dim TempFileName As String
        Dim FileExtStr As String
        Dim FileFormatNum As Long
        Dim OutApp As Object
        Dim OutMail As Object
     
     
    For Each sht In ActiveWorkbook.Sheets
    If sht.Range("A60").Value Like "?*@?*.?*" Then
    sht.Activate
    SendTo = sht.Range("A60").Value
     
        Set Source = Nothing
        On Error Resume Next
        Set Source = Range("A2:H46").SpecialCells(xlCellTypeVisible)
        On Error GoTo 0
        If Source Is Nothing Then
            MsgBox "The source is not a range or the sheet is protected, " & _
                   "please correct and try again.", vbOKOnly
            Exit Sub
        End If
        With Application
            .ScreenUpdating = False
            .EnableEvents = False
        End With
        Set wb = ActiveWorkbook
         
     
        Set Dest = Workbooks.Add(xlWBATWorksheet)
        Source.Copy
        With Dest.Sheets(1)
            .Cells(1).PasteSpecial Paste:=8
            .Cells(1).PasteSpecial Paste:=xlPasteValues
            .Cells(1).PasteSpecial Paste:=xlPasteFormats
            .Cells(1).Select
            Application.CutCopyMode = False
        
        End With
        TempFilePath = Environ$("temp") & "\"
        TempFileName = sht.Range("F3").Value & " Productivity " & Format(Now, "mm-dd-yy")
        If Val(Application.Version) < 12 Then
            'You use Excel 2000-2003
            FileExtStr = ".xls": FileFormatNum = 56
        Else
            'You use Excel 2007-2010
            FileExtStr = ".xls": FileFormatNum = 56
        End If
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
        With Dest
            .SaveAs TempFilePath & TempFileName & FileExtStr, _
                    FileFormat:=FileFormatNum
            On Error Resume Next
            With OutMail
                .to = SendTo
                .CC = ""
                .BCC = ""
                .Subject = "subject"
                .body = "body"
                .attachments.Add Dest.FullName
                'You can add other files also like this
                '.Attachments.Add ("C:\test.txt")
                .Display 'or use .Send
            End With
            On Error GoTo 0
            .Close SaveChanges:=False
        End With
        Kill TempFilePath & TempFileName & FileExtStr
        Set OutMail = Nothing
        Set OutApp = Nothing
        With Application
            .ScreenUpdating = True
            .EnableEvents = True
        End With
        End If
        Next
    End Sub

    Thank you!

  2. #2
    Registered User
    Join Date
    01-19-2012
    Location
    San Diego, CA
    MS-Off Ver
    Excel 2010
    Posts
    3

    Re: Macro to add password based on cell value

    Figured it out by adding this:
    .SaveAs TempFilePath & TempFileName & FileExtStr, _
     FileFormat:=FileFormatNum, Password:=sht.Range("G3").Value

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1