Attach file to Current Email

A

Ayth

Hello,

Can someone point me in the right direction? Or some sample code that
would do the following:

1. Save the current active document in Word.
2. Attach it to the current email
3. Save the email since it will be in "Edit Mode".

I can do number one without a problem, but it's the second portion
that's giving me problems. I know I'll have to use GetInspector to use
the current item, but I'm having troubles. Thanks.

Cheers,

Darrin
 
A

Ayth

Application.ActiveInspector.CurrentItem.Attachments.Add "c:\my document.doc"

That was what I was starting to get at but it's still not working for
me. Here is my code so far:

Sub Save_Attach()
Dim objMSWord As Word.Application
Dim itmWord As Word.Document
Dim objOutlook As Outlook.Application
Dim objInspector As Outlook.Inspector
Dim objItem As Object 'Allow any Outlook item type.
Dim itmAttach
Dim objAttachments As Outlook.Attachments

itmAttach = Environ("userprofile") & "\Desktop\Sticky.doc"
' Convert it to a string.
itmAttach = StrConv(itmOpen, vbProperCase)
' The ActiveInspector is the currently open item.
'MsgBox itmAttach
Set objInspector = objOutlook.ActiveInspector
Set objItem = objInspector.CurrentItem
Set objAttachments = objItem.Attachments
Set objMSWord = Word.Application
Set itmWord = objMSWord.ActiveDocument
itmWord.Save
objAttachments.Add "C:\Documents and Settings\dhenshaw\desktop
\sticky.doc"
End Sub

As you can see I'm pulling the environmental variable userprofile,
tacking on the "\Desktop\sticky.doc" to it. That works fine in another
macro I created to open that document.

If I uncomment the MsgBox itmAttach I get a blank message box, so it's
not pulling that variable right. However, even if I hard code the file
it's not working for me.

A little background info on this. I created one macro which does the
following:

1. Programatically calls the Edit > Edit Message command.
2. Then opens this sticky.doc which is located on the desktop.

Then this second button will need to do the steps I outline above. Can
anyone see the problem with my code? Thanks.
 
D

Dmitry Streblechenko

So the problem is that you cannot figure out where the Woird document is
stored, right?
You might want to ask that question in one of the Word newsgroups, but I can
imagine that Word document exposes the file name property explicitly.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
Application.ActiveInspector.CurrentItem.Attachments.Add "c:\my
document.doc"

That was what I was starting to get at but it's still not working for
me. Here is my code so far:

Sub Save_Attach()
Dim objMSWord As Word.Application
Dim itmWord As Word.Document
Dim objOutlook As Outlook.Application
Dim objInspector As Outlook.Inspector
Dim objItem As Object 'Allow any Outlook item type.
Dim itmAttach
Dim objAttachments As Outlook.Attachments

itmAttach = Environ("userprofile") & "\Desktop\Sticky.doc"
' Convert it to a string.
itmAttach = StrConv(itmOpen, vbProperCase)
' The ActiveInspector is the currently open item.
'MsgBox itmAttach
Set objInspector = objOutlook.ActiveInspector
Set objItem = objInspector.CurrentItem
Set objAttachments = objItem.Attachments
Set objMSWord = Word.Application
Set itmWord = objMSWord.ActiveDocument
itmWord.Save
objAttachments.Add "C:\Documents and Settings\dhenshaw\desktop
\sticky.doc"
End Sub

As you can see I'm pulling the environmental variable userprofile,
tacking on the "\Desktop\sticky.doc" to it. That works fine in another
macro I created to open that document.

If I uncomment the MsgBox itmAttach I get a blank message box, so it's
not pulling that variable right. However, even if I hard code the file
it's not working for me.

A little background info on this. I created one macro which does the
following:

1. Programatically calls the Edit > Edit Message command.
2. Then opens this sticky.doc which is located on the desktop.

Then this second button will need to do the steps I outline above. Can
anyone see the problem with my code? Thanks.
 
A

Ayth

So the problem is that you cannot figure out where the Woird document is
stored, right?
You might want to ask that question in one of the Word newsgroups, but I can
imagine that Word document exposes the file name property explicitly.

--
Dmitry Streblechenko (MVP)http://www.dimastr.com/
OutlookSpy  - Outlook, CDO
and MAPI Developer Tool




That was what I was starting to get at but it's still not working for
me. Here is my code so far:

Sub Save_Attach()
    Dim objMSWord As Word.Application
    Dim itmWord As Word.Document
    Dim objOutlook As Outlook.Application
    Dim objInspector As Outlook.Inspector
    Dim objItem As Object 'Allow any Outlook item type.
    Dim itmAttach
    Dim objAttachments As Outlook.Attachments

    itmAttach = Environ("userprofile") & "\Desktop\Sticky.doc"
    ' Convert it to a string.
    itmAttach = StrConv(itmOpen, vbProperCase)
    ' The ActiveInspector is the currently open item.
    'MsgBox itmAttach
    Set objInspector = objOutlook.ActiveInspector
    Set objItem = objInspector.CurrentItem
    Set objAttachments = objItem.Attachments
    Set objMSWord = Word.Application
    Set itmWord = objMSWord.ActiveDocument
    itmWord.Save
    objAttachments.Add "C:\Documents and Settings\dhenshaw\desktop
\sticky.doc"
End Sub

As you can see I'm pulling the environmental variable userprofile,
tacking on the "\Desktop\sticky.doc" to it. That works fine in another
macro I created to open that document.

If I uncomment the MsgBox itmAttach I get a blank message box, so it's
not pulling that variable right. However, even if I hard code the file
it's not working for me.

A little background info on this. I created one macro which does the
following:

1. Programatically calls the Edit > Edit Message command.
2. Then opens this sticky.doc which is located on the desktop.

Then this second button will need to do the steps I outline above. Can
anyone see the problem with my code? Thanks.

I wish, that might be easier. No the word document is stored
statically in one spot. The problem is that the attachment does not
appear in the email. The saving of the word document works fine, once
you add the reference to the Microsoft Word 11 or 12 library,
depending on the version. I'm thinking the problem might be that this
is not an email waiting to be sent. This is an email already received,
that's been opened, set into what I call "Edit Mode"(clicking Edit >
Edit Message).

But then I took out the code that deals with Word and tried to attach
the file to a new email, and it still doesn't work. No error message,
just doesn't work for me. Thanks.
 
D

Dmitry Streblechenko

How many messages do you have when te hcode is executed?
Does it work if you explicitly create a new message?

Set objItem = objOutlook.CreateItem(0)
Set objAttachments = objItem.Attachments
objAttachments.Add "C:\Documents and
Settings\dhenshaw\desktop\sticky.doc"
objItem.Display


--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
So the problem is that you cannot figure out where the Woird document is
stored, right?
You might want to ask that question in one of the Word newsgroups, but I
can
imagine that Word document exposes the file name property explicitly.

--
Dmitry Streblechenko (MVP)http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool




That was what I was starting to get at but it's still not working for
me. Here is my code so far:

Sub Save_Attach()
Dim objMSWord As Word.Application
Dim itmWord As Word.Document
Dim objOutlook As Outlook.Application
Dim objInspector As Outlook.Inspector
Dim objItem As Object 'Allow any Outlook item type.
Dim itmAttach
Dim objAttachments As Outlook.Attachments

itmAttach = Environ("userprofile") & "\Desktop\Sticky.doc"
' Convert it to a string.
itmAttach = StrConv(itmOpen, vbProperCase)
' The ActiveInspector is the currently open item.
'MsgBox itmAttach
Set objInspector = objOutlook.ActiveInspector
Set objItem = objInspector.CurrentItem
Set objAttachments = objItem.Attachments
Set objMSWord = Word.Application
Set itmWord = objMSWord.ActiveDocument
itmWord.Save
objAttachments.Add "C:\Documents and Settings\dhenshaw\desktop
\sticky.doc"
End Sub

As you can see I'm pulling the environmental variable userprofile,
tacking on the "\Desktop\sticky.doc" to it. That works fine in another
macro I created to open that document.

If I uncomment the MsgBox itmAttach I get a blank message box, so it's
not pulling that variable right. However, even if I hard code the file
it's not working for me.

A little background info on this. I created one macro which does the
following:

1. Programatically calls the Edit > Edit Message command.
2. Then opens this sticky.doc which is located on the desktop.

Then this second button will need to do the steps I outline above. Can
anyone see the problem with my code? Thanks.

I wish, that might be easier. No the word document is stored
statically in one spot. The problem is that the attachment does not
appear in the email. The saving of the word document works fine, once
you add the reference to the Microsoft Word 11 or 12 library,
depending on the version. I'm thinking the problem might be that this
is not an email waiting to be sent. This is an email already received,
that's been opened, set into what I call "Edit Mode"(clicking Edit >
Edit Message).

But then I took out the code that deals with Word and tried to attach
the file to a new email, and it still doesn't work. No error message,
just doesn't work for me. Thanks.
 

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