Exporting to email

N

nick

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
 
B

Brendan Reynolds

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

Jim/Chris

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
 
J

John Nurick

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top