Exporting to email

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi,

I want to be able to build a text file putting the values in a form into a
letter that can be copied and e-mailed to clients.

Does anyone know the VB code for saving a string as a plain text file
(including specifiying the location etc)?

cheers
 
The following is untested, from memory. I'm fairly sure I've got it right,
but couldn't completely rule out the possibility of a typo or two.

Dim strFile As String
Dim intFile as Integer

strFile = "C:\SomeFolder\SomeFile.txt"
intFile = FreeFile
Open strFile For Append As intFile
Print #intFile, "Some text"
Close #intFile

For Append will create the file if it doesn't exist, or add the text to the
end of the file if it already exists. If you want to replace the file if it
already exists, use For Output instead, but take care - you'll be
overwriting the existing file without any prompt, unless you write your own
code to check for the existance of the file and warn the user.

--
Brendan Reynolds (MVP)
http://brenreyn.blogspot.com

The spammers and script-kiddies have succeeded in making it impossible for
me to use a real e-mail address in public newsgroups. E-mail replies to
this post will be deleted without being read. Any e-mail claiming to be
from brenreyn at indigo dot ie that is not digitally signed by me with a
GlobalSign digital certificate is a forgery and should be deleted without
being read. Follow-up questions should in general be posted to the
newsgroup, but if you have a good reason to send me e-mail, you'll find
a useable e-mail address at the URL above.
 
Why not just reference the information on the form in the
creation of the email form in Access. This way it shows up
in the body of the email instead of an attachment.

Jim
 
Hi Nick,

I use this:

Function WriteToFile(Var As Variant, _
FileSpec As String, _
Optional Overwrite As Long = True) _
As Long
'Writes Var to a textfile as a string.
'Returns 0 if successful, an errorcode if not.

'Overwrite argument controls what happens
'if the target file already exists:
' -1 or True (default): overwrite it.
' 0 or False: append to it
' Any other value: abort.

Dim lngFN As Long

On Error GoTo Err_WriteToFile
lngFN = FreeFile()
Select Case Overwrite
Case True
Open FileSpec For Output As #lngFN
Case False
Open FileSpec For Append As #lngFN
Case Else
If Len(Dir(FileSpec)) > 0 Then
Err.Raise 58 'File already exists
Else
Open FileSpec For Output As #lngFN
End If
End Select
Print #lngFN, CStr(Nz(Var, ""));
Close #lngFN
WriteToFile = 0
Exit Function
Err_WriteToFile:
WriteToFile = Err.Number
End Function
 
Back
Top