Suppose you need to make a program to send emails. However, you need the emails to contain attachments, the names of which will be generated when the attachment file has been saved, and which will contain the date and time the file was saved.
Private Sub cmd_submit_Click() 'Dim the strings for use later on Dim confirm As String Dim Tijd As String Dim Datum As String Dim saveFile As String 'Set the tijd(time) and datum(date) string when its going to be saved. Tijd = Format$(Time, "hh-nn-ss") Datum = Format$(Date, "dd-mm-yy") 'Set the path where the file needs to be saved saveFile = App.Path & "/offerten/Kasten_Time" & Tijd & _ "_Date" & Datum & ".txt" On Error GoTo mailerr: 'Ask if they are sure to send it confirm = MsgBox("Are you sure that you want to do this?", vbYesNo + vbInformation) If confirm = vbYes Then 'If they say Yes 'Save the file(check the function below) SaveGrid saveFile, MSFlexGrid1 MAPISession1.SignOn If MAPISession1.SessionID <> 0 Then With MAPIMessages1 .SessionID = MAPISession1.SessionID .Compose 'Set the attachmentname, this is the one that will be ' displayed on the attachment textbox in outlook .AttachmentName = "Kasten_Time" & Tijd & "_Date" & Datum & ".txt" 'This is the path to the actual file .AttachmentPathName = App.Path & "/offerten/Kasten_Time" & Tijd & _ "_Date" & Datum & ".txt" 'This is the email adress of the one who is supposed to get the mail .RecipAddress = "[email protected]" 'This is the name that will be shown in the To: textbox .RecipDisplayName = "Kris Kleykens" 'This is the subject of the email .MsgSubject = "Time: " & Tijd & " Date: " & Datum 'This is the body of the email .MsgNoteText = Note.txt '.Send true shows the email before it's sent. ' False doesn't show this .Send True End With End If mailerr: 'If they say no Else End If DoEvents MAPISession1.SignOffEnd SubFunction SaveGrid(sFileName As String, myFG As String) Dim sLine As String Dim fID As Integer Dim lCol As Long, lRow As Long Dim sFirstLine As String sFirstLine = "O," & main.txt_refferte.Text & ",,,,," & _ login.KlantNaam & ",,," & main.Combo1.Text & "," & _ main.Combo2.Text & "," & main.Combo3.Text & "," & _ main.Combo4.Text & ",," & main.Combo5.Text & "," & _ main.Combo6.Text & ",," & main.Combo8.Text & "," & _ main.Combo9.Text & "," & main.Combo10.Text & "," & main.Combo7.Text fID = FreeFile Open sFileName For Output As #fID Print #fID, sFirstLine ' Dump the grid With MSFlexGrid1 For lRow = 1 To .Rows - 1 sLine = "" For lCol = 0 To .Cols - 1 sLine = sLine & "," & .TextMatrix(lRow, lCol) Next lCol ' All kind of prefixes possible ' 1: Print #fID, "A," & Mid$(sLine, 2) ' Or: ' Print #fID, "row:" & lRow & "=" & Mid$(sLine, 2) Next lRowEnd With Close #fIDEnd Function