Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP General > Attachment Using CDO.MESSAGE

Reply
Thread Tools

Attachment Using CDO.MESSAGE

 
 
RN1
Guest
Posts: n/a
 
      12-14-2007
An ASP page first creates a MS-Word (doc) document using the values
received from a HTML Form & then mails this doc file as an attachment
for which I am using CDO.MESSAGE but the line

cdoMessage.AddAttachment Server.MapPath(strFile)

generates the following error:

The process cannot access the file because it is being used by another
process.

which points to the AddAttachment line (shown above).

How do I overcome this error?
 
Reply With Quote
 
 
 
 
Anthony Jones
Guest
Posts: n/a
 
      12-15-2007

"RN1" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> An ASP page first creates a MS-Word (doc) document using the values
> received from a HTML Form & then mails this doc file as an attachment
> for which I am using CDO.MESSAGE but the line
>
> cdoMessage.AddAttachment Server.MapPath(strFile)
>
> generates the following error:
>
> The process cannot access the file because it is being used by another
> process.
>
> which points to the AddAttachment line (shown above).
>
> How do I overcome this error?


You'll have a Word application object still holding the file open. As the
link that Bob has posted in a later thread indicates, this not a good idea.

--
Anthony Jones - MVP ASP/ASP.NET


 
Reply With Quote
 
 
 
 
RN1
Guest
Posts: n/a
 
      12-17-2007
On Dec 15, 5:34 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> "RN1" <(E-Mail Removed)> wrote in message
>
> news:(E-Mail Removed)...
>
> > An ASP page first creates a MS-Word (doc) document using the values
> > received from a HTML Form & then mails this doc file as an attachment
> > for which I am using CDO.MESSAGE but the line

>
> > cdoMessage.AddAttachment Server.MapPath(strFile)

>
> > generates the following error:

>
> > The process cannot access the file because it is being used by another
> > process.

>
> > which points to the AddAttachment line (shown above).

>
> > How do I overcome this error?

>
> You'll have a Word application object still holding the file open. As the
> link that Bob has posted in a later thread indicates, this not a good idea.
>
> --
> Anthony Jones - MVP ASP/ASP.NET


Anthony, if I am not mistaken, what Bob has suggested is very much
different to what I want to do here. What Bob has suggested that is
for opening a Word file using ASP but here I want to first create the
Word document (which I have taken care of) & then mail it as an
attachment. At no point do I want to open that Word document that ASP
creates.

Anyway, how do I ensure that the Word object is not holding the file
open?

I remember doing the same thing but using CDONTS.MAIL (instead of
CDO.MESSAGE) to send the mail & the mail was delivered successfully
along with the attachment. The problem creeps up when I use
CDO.MESSAGE.
 
Reply With Quote
 
RN1
Guest
Posts: n/a
 
      12-21-2007
On Dec 17, 8:08*pm, RN1 <(E-Mail Removed)> wrote:
> On Dec 15, 5:34 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
>
>
>
>
>
> > "RN1" <(E-Mail Removed)> wrote in message

>
> >news:(E-Mail Removed)...

>
> > > An ASP page first creates a MS-Word (doc) document using the values
> > > received from a HTML Form & then mails this doc file as an attachment
> > > for which I am using CDO.MESSAGE but the line

>
> > > cdoMessage.AddAttachment Server.MapPath(strFile)

>
> > > generates the following error:

>
> > > The process cannot access the file because it is being used by another
> > > process.

>
> > > which points to the AddAttachment line (shown above).

>
> > > How do I overcome this error?

>
> > You'll have a Word application object still holding the file open. *Asthe
> > link that Bob has posted in a later thread indicates, this not a good idea.

>
> > --
> > Anthony Jones - MVP ASP/ASP.NET

>
> Anthony, if I am not mistaken, what Bob has suggested is very much
> different to what I want to do here. What Bob has suggested that is
> for opening a Word file using ASP but here I want to first create the
> Word document (which I have taken care of) & then mail it as an
> attachment. At no point do I want to open that Word document that ASP
> creates.
>
> Anyway, how do I ensure that the Word object is not holding the file
> open?
>
> I remember doing the same thing but using CDONTS.MAIL (instead of
> CDO.MESSAGE) to send the mail & the mail was delivered successfully
> along with the attachment. The problem creeps up when I use
> CDO.MESSAGE.- Hide quoted text -
>
> - Show quoted text -


Anyone?

Ron
 
Reply With Quote
 
Anthony Jones
Guest
Posts: n/a
 
      12-22-2007
"RN1" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> On Dec 15, 5:34 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> > "RN1" <(E-Mail Removed)> wrote in message
> >
> > news:(E-Mail Removed)...
> >
> > > An ASP page first creates a MS-Word (doc) document using the values
> > > received from a HTML Form & then mails this doc file as an attachment
> > > for which I am using CDO.MESSAGE but the line

> >
> > > cdoMessage.AddAttachment Server.MapPath(strFile)

> >
> > > generates the following error:

> >
> > > The process cannot access the file because it is being used by another
> > > process.

> >
> > > which points to the AddAttachment line (shown above).

> >
> > > How do I overcome this error?

> >
> > You'll have a Word application object still holding the file open. As

the
> > link that Bob has posted in a later thread indicates, this not a good

idea.
> >
> > --
> > Anthony Jones - MVP ASP/ASP.NET

>
> Anthony, if I am not mistaken, what Bob has suggested is very much
> different to what I want to do here. What Bob has suggested that is
> for opening a Word file using ASP but here I want to first create the
> Word document (which I have taken care of) & then mail it as an
> attachment. At no point do I want to open that Word document that ASP
> creates.


Please post the code that creates the Word document.

>
> Anyway, how do I ensure that the Word object is not holding the file
> open?



My advice is don't use Office objects in ASP.

--
Anthony Jones - MVP ASP/ASP.NET


 
Reply With Quote
 
RN1
Guest
Posts: n/a
 
      12-23-2007
On Dec 22, 6:08*pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> "RN1" <(E-Mail Removed)> wrote in message
>
> news:(E-Mail Removed)...
>
>
>
>
>
> > On Dec 15, 5:34 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> > > "RN1" <(E-Mail Removed)> wrote in message

>
> > >news:(E-Mail Removed)....

>
> > > > An ASP page first creates a MS-Word (doc) document using the values
> > > > received from a HTML Form & then mails this doc file as an attachment
> > > > for which I am using CDO.MESSAGE but the line

>
> > > > cdoMessage.AddAttachment Server.MapPath(strFile)

>
> > > > generates the following error:

>
> > > > The process cannot access the file because it is being used by another
> > > > process.

>
> > > > which points to the AddAttachment line (shown above).

>
> > > > How do I overcome this error?

>
> > > You'll have a Word application object still holding the file open. *As

> the
> > > link that Bob has posted in a later thread indicates, this not a good

> idea.
>
> > > --
> > > Anthony Jones - MVP ASP/ASP.NET

>
> > Anthony, if I am not mistaken, what Bob has suggested is very much
> > different to what I want to do here. What Bob has suggested that is
> > for opening a Word file using ASP but here I want to first create the
> > Word document (which I have taken care of) & then mail it as an
> > attachment. At no point do I want to open that Word document that ASP
> > creates.

>
> Please post the code that creates the Word document.
>
>
>
> > Anyway, how do I ensure that the Word object is not holding the file
> > open?

>
> My advice is don't use Office objects in ASP.
>
> --
> Anthony Jones - MVP ASP/ASP.NET- Hide quoted text -
>
> - Show quoted text -


Here is the code that creates the Word document Anthony:

======================================
<%
Dim strParty,strNewFile,strFolderPath

strParty=Request.Form(strParty)
strNewFile="LETTERS\Letter" & Replace(strParty," ","") & ".doc"
strFolderPath="LETTERS"

Dim objFSO,objFolder,objFile
Set objFSO=Server.CreateObject("SCRIPTING.FILESYSTEMOB JECT")
Set objFolder=objFSO.GetFolder(Server.MapPath(strFolde rPath))

Const ForAppending=8
Const ForWriting=2

If Not(objFSO.FileExists(Server.MapPath(strNewFile))) Then
Set objFile=objFSO.CreateTextFile(Server.MapPath(strNe wFile))
Else
Set
objFile=objFSO.OpenTextFile(Server.MapPath(strNewF ile),ForWriting)
End If

objFile.WriteLine("............")
objFile.WriteLine("............")
objFile.WriteLine("............")

'e-mail code using CDO.MESSAGE to send
'the DOC file as an attachment comes here

'deleting the DOC document after 5 hours
For Each objFile In objFolder.Files
If(InStr(objFile.Name,".doc")>0) Then
If(DateDiff("n",objFile.DateLastModified,Now())>30 0) Then
objFile.Delete
End If
End If
Next

Set objFile=Nothing
Set objFSO=Nothing
======================================

>> My advice is don't use Office objects in ASP


Then how does one send Office documents as attachments in ASP?

Thanks,

Ron
 
Reply With Quote
 
Anthony Jones
Guest
Posts: n/a
 
      12-23-2007
"RN1" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
On Dec 22, 6:08 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> "RN1" <(E-Mail Removed)> wrote in message
>
> news:(E-Mail Removed)...
>
>
>
>
>
> > On Dec 15, 5:34 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> > > "RN1" <(E-Mail Removed)> wrote in message

>
> >

>news:(E-Mail Removed)...
>
> > > > An ASP page first creates a MS-Word (doc) document using the values
> > > > received from a HTML Form & then mails this doc file as an

attachment
> > > > for which I am using CDO.MESSAGE but the line

>
> > > > cdoMessage.AddAttachment Server.MapPath(strFile)

>
> > > > generates the following error:

>
> > > > The process cannot access the file because it is being used by

another
> > > > process.

>
> > > > which points to the AddAttachment line (shown above).

>
> > > > How do I overcome this error?

>
> > > You'll have a Word application object still holding the file open. As

> the
> > > link that Bob has posted in a later thread indicates, this not a good

> idea.
>
> > > --
> > > Anthony Jones - MVP ASP/ASP.NET

>
> > Anthony, if I am not mistaken, what Bob has suggested is very much
> > different to what I want to do here. What Bob has suggested that is
> > for opening a Word file using ASP but here I want to first create the
> > Word document (which I have taken care of) & then mail it as an
> > attachment. At no point do I want to open that Word document that ASP
> > creates.

>
> Please post the code that creates the Word document.
>
>
>
> > Anyway, how do I ensure that the Word object is not holding the file
> > open?

>
> My advice is don't use Office objects in ASP.
>
> --
> Anthony Jones - MVP ASP/ASP.NET- Hide quoted text -
>
> - Show quoted text -


>Here is the code that creates the Word document Anthony:



>>>>>>>>

<%
Dim strParty,strNewFile,strFolderPath

strParty=Request.Form(strParty)
strNewFile="LETTERS\Letter" & Replace(strParty," ","") & ".doc"
strFolderPath="LETTERS"

Dim objFSO,objFolder,objFile
Set objFSO=Server.CreateObject("SCRIPTING.FILESYSTEMOB JECT")
Set objFolder=objFSO.GetFolder(Server.MapPath(strFolde rPath))

Const ForAppending=8
Const ForWriting=2

If Not(objFSO.FileExists(Server.MapPath(strNewFile))) Then
Set objFile=objFSO.CreateTextFile(Server.MapPath(strNe wFile))
Else
Set
objFile=objFSO.OpenTextFile(Server.MapPath(strNewF ile),ForWriting)
End If

<<<<<<<<

The above can be reduced to:-

Set objFile=objFSO.OpenTextFile(Server.MapPath(strNewF ile),ForWriting, True)

There is no need to test for FileExist.

>>>>>>>>


objFile.WriteLine("............")
objFile.WriteLine("............")
objFile.WriteLine("............")

<<<<<<<<

Where is objFile.Close ?

I'm no expert in office file formats but it surprises me that you can write
a word document using a text stream object.

>>>>>>>>

'e-mail code using CDO.MESSAGE to send
'the DOC file as an attachment comes here

'deleting the DOC document after 5 hours
For Each objFile In objFolder.Files
If(InStr(objFile.Name,".doc")>0) Then
If(DateDiff("n",objFile.DateLastModified,Now())>30 0) Then
objFile.Delete
End If
End If
Next

Set objFile=Nothing
Set objFSO=Nothing
<<<<<<<<

>> My advice is don't use Office objects in ASP


>Then how does one send Office documents as attachments in ASP?



You're not using office objects so don't worry about it.


--
Anthony Jones - MVP ASP/ASP.NET


 
Reply With Quote
 
RN1
Guest
Posts: n/a
 
      12-23-2007
On Dec 23, 6:12*pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> "RN1" <(E-Mail Removed)> wrote in message
>
> news:(E-Mail Removed)...
> On Dec 22, 6:08 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
>
>
>
>
>
> > "RN1" <(E-Mail Removed)> wrote in message

>
> >news:(E-Mail Removed)...

>
> > > On Dec 15, 5:34 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> > > > "RN1" <(E-Mail Removed)> wrote in message

>
> >news:(E-Mail Removed)...

>
> > > > > An ASP page first creates a MS-Word (doc) document using the values
> > > > > received from a HTML Form & then mails this doc file as an

> attachment
> > > > > for which I am using CDO.MESSAGE but the line

>
> > > > > cdoMessage.AddAttachment Server.MapPath(strFile)

>
> > > > > generates the following error:

>
> > > > > The process cannot access the file because it is being used by

> another
> > > > > process.

>
> > > > > which points to the AddAttachment line (shown above).

>
> > > > > How do I overcome this error?

>
> > > > You'll have a Word application object still holding the file open. As

> > the
> > > > link that Bob has posted in a later thread indicates, this not a good

> > idea.

>
> > > > --
> > > > Anthony Jones - MVP ASP/ASP.NET

>
> > > Anthony, if I am not mistaken, what Bob has suggested is very much
> > > different to what I want to do here. What Bob has suggested that is
> > > for opening a Word file using ASP but here I want to first create the
> > > Word document (which I have taken care of) & then mail it as an
> > > attachment. At no point do I want to open that Word document that ASP
> > > creates.

>
> > Please post the code that creates the Word document.

>
> > > Anyway, how do I ensure that the Word object is not holding the file
> > > open?

>
> > My advice is don't use Office objects in ASP.

>
> > --
> > Anthony Jones - MVP ASP/ASP.NET- Hide quoted text -

>
> > - Show quoted text -
> >Here is the code that creates the Word document Anthony:

>
> <%
> * * Dim strParty,strNewFile,strFolderPath
>
> * * strParty=Request.Form(strParty)
> * * strNewFile="LETTERS\Letter" & Replace(strParty," ","") & ".doc"
> * * strFolderPath="LETTERS"
>
> * * Dim objFSO,objFolder,objFile
> * * Set objFSO=Server.CreateObject("SCRIPTING.FILESYSTEMOB JECT")
> * * Set objFolder=objFSO.GetFolder(Server.MapPath(strFolde rPath))
>
> * * Const ForAppending=8
> * * Const ForWriting=2
>
> * * If Not(objFSO.FileExists(Server.MapPath(strNewFile))) Then
> * * * * Set objFile=objFSO.CreateTextFile(Server.MapPath(strNe wFile))
> * * Else
> * * * * Set
> objFile=objFSO.OpenTextFile(Server.MapPath(strNewF ile),ForWriting)
> * * End If
>
> <<<<<<<<
>
> The above can be reduced to:-
>
> Set objFile=objFSO.OpenTextFile(Server.MapPath(strNewF ile),ForWriting, True)
>
> There is no need to test for FileExist.
>
>
>
> * * objFile.WriteLine("............")
> * * objFile.WriteLine("............")
> * * objFile.WriteLine("............")
>
> <<<<<<<<
>
> Where is objFile.Close ?
>
> I'm no expert in office file formats but it surprises me that you can write
> a word document using a text stream object.
>
>
>
> * * 'e-mail code using CDO.MESSAGE to send
> * * 'the DOC file as an attachment comes here
>
> * * 'deleting the DOC document after 5 hours
> * * For Each objFile In objFolder.Files
> * * * * If(InStr(objFile.Name,".doc")>0) Then
> * * * * * * If(DateDiff("n",objFile.DateLastModified,Now())>30 0) Then
> * * * * * * * * objFile.Delete
> * * * * * * End If
> * * * * End If
> * * Next
>
> * * Set objFile=Nothing
> * * Set objFSO=Nothing
> <<<<<<<<
>
> >> My advice is don't use Office objects in ASP

> >Then how does one send Office documents as attachments in ASP?

>
> You're not using office objects so don't worry about it.
>
> --
> Anthony Jones - MVP ASP/ASP.NET- Hide quoted text -
>
> - Show quoted text -


>> 'e-mail code using CDO.MESSAGE to send
>> 'the DOC file as an attachment comes here


You have hit the nail on the head, Anthony. objFile.Close was what was
missing which caused that error. Thanks a lot of your help.

>> I'm no expert in office file formats but it surprises me that >> you can write a word document using a text stream object.


Why does that surprise you, Anthony?

Thanks once again,

Regards,

Ron
 
Reply With Quote
 
Bob Lehmann
Guest
Posts: n/a
 
      12-23-2007
>> Why does that surprise you, Anthony?
Because Word documents are a proprietary, binary format, as opposed to plain
text.

Create a file in Notepad as something.doc. Now open it, and try to save it
in Word, to see what I mean.

Bob Lehmannn

"RN1" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
On Dec 23, 6:12 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> "RN1" <(E-Mail Removed)> wrote in message
>
> news:(E-Mail Removed)...
> On Dec 22, 6:08 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
>
>
>
>
>
> > "RN1" <(E-Mail Removed)> wrote in message

>
> >news:(E-Mail Removed)...

>
> > > On Dec 15, 5:34 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> > > > "RN1" <(E-Mail Removed)> wrote in message

>
> >news:(E-Mail Removed)...

>
> > > > > An ASP page first creates a MS-Word (doc) document using the

values
> > > > > received from a HTML Form & then mails this doc file as an

> attachment
> > > > > for which I am using CDO.MESSAGE but the line

>
> > > > > cdoMessage.AddAttachment Server.MapPath(strFile)

>
> > > > > generates the following error:

>
> > > > > The process cannot access the file because it is being used by

> another
> > > > > process.

>
> > > > > which points to the AddAttachment line (shown above).

>
> > > > > How do I overcome this error?

>
> > > > You'll have a Word application object still holding the file open.

As
> > the
> > > > link that Bob has posted in a later thread indicates, this not a

good
> > idea.

>
> > > > --
> > > > Anthony Jones - MVP ASP/ASP.NET

>
> > > Anthony, if I am not mistaken, what Bob has suggested is very much
> > > different to what I want to do here. What Bob has suggested that is
> > > for opening a Word file using ASP but here I want to first create the
> > > Word document (which I have taken care of) & then mail it as an
> > > attachment. At no point do I want to open that Word document that ASP
> > > creates.

>
> > Please post the code that creates the Word document.

>
> > > Anyway, how do I ensure that the Word object is not holding the file
> > > open?

>
> > My advice is don't use Office objects in ASP.

>
> > --
> > Anthony Jones - MVP ASP/ASP.NET- Hide quoted text -

>
> > - Show quoted text -
> >Here is the code that creates the Word document Anthony:

>
> <%
> Dim strParty,strNewFile,strFolderPath
>
> strParty=Request.Form(strParty)
> strNewFile="LETTERS\Letter" & Replace(strParty," ","") & ".doc"
> strFolderPath="LETTERS"
>
> Dim objFSO,objFolder,objFile
> Set objFSO=Server.CreateObject("SCRIPTING.FILESYSTEMOB JECT")
> Set objFolder=objFSO.GetFolder(Server.MapPath(strFolde rPath))
>
> Const ForAppending=8
> Const ForWriting=2
>
> If Not(objFSO.FileExists(Server.MapPath(strNewFile))) Then
> Set objFile=objFSO.CreateTextFile(Server.MapPath(strNe wFile))
> Else
> Set
> objFile=objFSO.OpenTextFile(Server.MapPath(strNewF ile),ForWriting)
> End If
>
> <<<<<<<<
>
> The above can be reduced to:-
>
> Set objFile=objFSO.OpenTextFile(Server.MapPath(strNewF ile),ForWriting,

True)
>
> There is no need to test for FileExist.
>
>
>
> objFile.WriteLine("............")
> objFile.WriteLine("............")
> objFile.WriteLine("............")
>
> <<<<<<<<
>
> Where is objFile.Close ?
>
> I'm no expert in office file formats but it surprises me that you can

write
> a word document using a text stream object.
>
>
>
> 'e-mail code using CDO.MESSAGE to send
> 'the DOC file as an attachment comes here
>
> 'deleting the DOC document after 5 hours
> For Each objFile In objFolder.Files
> If(InStr(objFile.Name,".doc")>0) Then
> If(DateDiff("n",objFile.DateLastModified,Now())>30 0) Then
> objFile.Delete
> End If
> End If
> Next
>
> Set objFile=Nothing
> Set objFSO=Nothing
> <<<<<<<<
>
> >> My advice is don't use Office objects in ASP

> >Then how does one send Office documents as attachments in ASP?

>
> You're not using office objects so don't worry about it.
>
> --
> Anthony Jones - MVP ASP/ASP.NET- Hide quoted text -
>
> - Show quoted text -


>> 'e-mail code using CDO.MESSAGE to send
>> 'the DOC file as an attachment comes here


You have hit the nail on the head, Anthony. objFile.Close was what was
missing which caused that error. Thanks a lot of your help.

>> I'm no expert in office file formats but it surprises me that >> you can

write a word document using a text stream object.

Why does that surprise you, Anthony?

Thanks once again,

Regards,

Ron


 
Reply With Quote
 
RN1
Guest
Posts: n/a
 
      12-23-2007
On Dec 23, 8:10*pm, "Bob Lehmann" <(E-Mail Removed)> wrote:
> >> Why does that surprise you, Anthony?

>
> Because Word documents are a proprietary, binary format, as opposed to plain
> text.
>
> Create a file in Notepad as something.doc. Now open it, and try to save it
> in Word, to see what I mean.
>
> Bob Lehmannn
>
> "RN1" <(E-Mail Removed)> wrote in message
>
> news:(E-Mail Removed)...
> On Dec 23, 6:12 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
>
>
>
>
>
> > "RN1" <(E-Mail Removed)> wrote in message

>
> >news:(E-Mail Removed)...
> > On Dec 22, 6:08 pm, "Anthony Jones" <(E-Mail Removed)> wrote:

>
> > > "RN1" <(E-Mail Removed)> wrote in message

>
> > >news:(E-Mail Removed)....

>
> > > > On Dec 15, 5:34 pm, "Anthony Jones" <(E-Mail Removed)> wrote:
> > > > > "RN1" <(E-Mail Removed)> wrote in message

>
> > >news:(E-Mail Removed)....

>
> > > > > > An ASP page first creates a MS-Word (doc) document using the

> values
> > > > > > received from a HTML Form & then mails this doc file as an

> > attachment
> > > > > > for which I am using CDO.MESSAGE but the line

>
> > > > > > cdoMessage.AddAttachment Server.MapPath(strFile)

>
> > > > > > generates the following error:

>
> > > > > > The process cannot access the file because it is being used by

> > another
> > > > > > process.

>
> > > > > > which points to the AddAttachment line (shown above).

>
> > > > > > How do I overcome this error?

>
> > > > > You'll have a Word application object still holding the file open.

> As
> > > the
> > > > > link that Bob has posted in a later thread indicates, this not a

> good
> > > idea.

>
> > > > > --
> > > > > Anthony Jones - MVP ASP/ASP.NET

>
> > > > Anthony, if I am not mistaken, what Bob has suggested is very much
> > > > different to what I want to do here. What Bob has suggested that is
> > > > for opening a Word file using ASP but here I want to first create the
> > > > Word document (which I have taken care of) & then mail it as an
> > > > attachment. At no point do I want to open that Word document that ASP
> > > > creates.

>
> > > Please post the code that creates the Word document.

>
> > > > Anyway, how do I ensure that the Word object is not holding the file
> > > > open?

>
> > > My advice is don't use Office objects in ASP.

>
> > > --
> > > Anthony Jones - MVP ASP/ASP.NET- Hide quoted text -

>
> > > - Show quoted text -
> > >Here is the code that creates the Word document Anthony:

>
> > <%
> > Dim strParty,strNewFile,strFolderPath

>
> > strParty=Request.Form(strParty)
> > strNewFile="LETTERS\Letter" & Replace(strParty," ","") & ".doc"
> > strFolderPath="LETTERS"

>
> > Dim objFSO,objFolder,objFile
> > Set objFSO=Server.CreateObject("SCRIPTING.FILESYSTEMOB JECT")
> > Set objFolder=objFSO.GetFolder(Server.MapPath(strFolde rPath))

>
> > Const ForAppending=8
> > Const ForWriting=2

>
> > If Not(objFSO.FileExists(Server.MapPath(strNewFile))) Then
> > Set objFile=objFSO.CreateTextFile(Server.MapPath(strNe wFile))
> > Else
> > Set
> > objFile=objFSO.OpenTextFile(Server.MapPath(strNewF ile),ForWriting)
> > End If

>
> > <<<<<<<<

>
> > The above can be reduced to:-

>
> > Set objFile=objFSO.OpenTextFile(Server.MapPath(strNewF ile),ForWriting,

> True)
>
> > There is no need to test for FileExist.

>
> > objFile.WriteLine("............")
> > objFile.WriteLine("............")
> > objFile.WriteLine("............")

>
> > <<<<<<<<

>
> > Where is objFile.Close ?

>
> > I'm no expert in office file formats but it surprises me that you can

> write
> > a word document using a text stream object.

>
> > 'e-mail code using CDO.MESSAGE to send
> > 'the DOC file as an attachment comes here

>
> > 'deleting the DOC document after 5 hours
> > For Each objFile In objFolder.Files
> > If(InStr(objFile.Name,".doc")>0) Then
> > If(DateDiff("n",objFile.DateLastModified,Now())>30 0) Then
> > objFile.Delete
> > End If
> > End If
> > Next

>
> > Set objFile=Nothing
> > Set objFSO=Nothing
> > <<<<<<<<

>
> > >> My advice is don't use Office objects in ASP
> > >Then how does one send Office documents as attachments in ASP?

>
> > You're not using office objects so don't worry about it.

>
> > --
> > Anthony Jones - MVP ASP/ASP.NET- Hide quoted text -

>
> > - Show quoted text -
> >> * * 'e-mail code using CDO.MESSAGE to send
> >> * * 'the DOC file as an attachment comes here

>
> You have hit the nail on the head, Anthony. objFile.Close was what was
> missing which caused that error. Thanks a lot of your help.
>
> >> I'm no expert in office file formats but it surprises me that >> you can

>
> write a word document using a text stream object.
>
> Why does that surprise you, Anthony?
>
> Thanks once again,
>
> Regards,
>
> Ron- Hide quoted text -
>
> - Show quoted text -


>> Because Word documents are a proprietary, binary format,
>> as opposed to plain text.


>> Create a file in Notepad as something.doc. Now open it,
>> and try to save it in Word, to see what I mean


OK....now I understand why Anthony found that surprising but Bob when
I created a "doc" document in the way you have suggested (i.e. first
creating a "doc" file in NotePad & then saving it in Word) & then
opened it in Word, Word generated the following message:

============================================
Microsoft Word needs a converter to display the file correctly.
============================================

Word also generated another message when I tried to save it but when I
opened & saved the doc file which I created using the text stream
object, Word didn't generate any message. So does that mean that the
doc file created with the text stream object was created in the
correct binary format?

Thanks,

Ron
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
using system.net.mail attachment is empty =?Utf-8?B?dGhlV2l6YXJkMQ==?= ASP .Net 1 04-18-2006 07:42 AM
Web e-mail to resume downloading attachment using Get It Right ? Bun Mui Computer Support 1 11-06-2004 10:10 PM
Download file dialogue appears twice using Content-Disposition 'attachment' submitted from a form ben ASP .Net 0 07-07-2004 10:26 AM
reading an attachment using Javamail barry Java 0 12-12-2003 03:37 PM
Email sent to two people using Outlook Express. One gets the attachment, the other doesn't Blobby J Blobdom Computer Support 1 10-02-2003 05:08 PM



Advertisments