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
If MAPISession1.SessionID <> 0 Then
.SessionID = MAPISession1.SessionID
'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@example.com"
'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
'If they say no
Function 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
For lRow = 1 To .Rows - 1
sLine = ""
For lCol = 0 To .Cols - 1
sLine = sLine & "," & .TextMatrix(lRow, lCol)
' All kind of prefixes possible
Print #fID, "A," & Mid$(sLine, 2)
' Print #fID, "row:" & lRow & "=" & Mid$(sLine, 2)