![]() |
|
#1
|
|||
|
|||
|
Hi, really hope someone can help with this.
I have a macro button that sends a document via email. I would also like the macro to save the file in a particular location with some details in the filename. For example, path: C:\reports\templates filename: to include, MMR, Author, date, time, example: MMR A.N.Other 20160108 09:10.doc My current macro code is below. Code:
Private Sub CommandButton1_Click()
Dim OL As Object
Dim EmailItem As Object
Dim Doc As Document
Application.ScreenUpdating = False
Set OL = CreateObject("Outlook.Application")
Set EmailItem = OL.CreateItem(olMailItem)
Set Doc = ActiveDocument
With EmailItem
.Subject = "Monthly Management Report"
.Body = "Hi Brian," & vbCrLf & _
"Please find attached our Monthly Management Report" & vbCrLf & _
"Regards,"
.To = "n.parsons@lur.co.uk"
.Importance = olImportanceNormal
.Attachments.Add Doc.FullName
.Send
End With
Application.ScreenUpdating = True
Set Doc = Nothing
Set OL = Nothing
Set EmailItem = Nothing
End Sub
Private Sub CommandButton2_Click()
ActiveDocument.PrintOut Copies:=1
End Sub
|
|
#2
|
||||
|
||||
|
It is easy enough to include the option to save (though you can't have a colon in the filename). Frankly I would use ribbon buttons for this in the document template rather than ActiveX buttons in the document (Menu buttons for Word 2003 and earlier).
Code:
Private Sub CommandButton1_Click()
Dim OL As Object
Dim EmailItem As Object
Dim olInsp As Object
Dim wdDoc As Document
Dim oRng As Range
Dim Doc As Document
Dim strFname As String
Const strPath As String = "C:\reports\templates\"
Application.ScreenUpdating = False
On Error Resume Next
Set OL = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set OL = CreateObject("Outlook.Application")
End If
Set EmailItem = OL.CreateItem(0)
Set Doc = ActiveDocument
strFname = strpath & "MMR "
strFname = strFname & Doc.BuiltInDocumentProperties("Author")
strFname = strFname & Chr(32) & Format(Date, "yyyyddmm")
strFname = strFname & Chr(32) & Format(Time, "HHMM") & ".doc"
Doc.SaveAs strFname
With EmailItem
Set olInsp = .GetInspector
Set wdDoc = olInsp.WordEditor
Set oRng = wdDoc.Range(0, 0)
.Subject = "Monthly Management Report"
oRng.Text = "Hi Brian," & vbCrLf & _
"Please find attached our Monthly Management Report" & vbCrLf & _
"Regards,"
.to = "n.parsons@lur.co.uk"
.Importance = 1
.Attachments.Add Doc.FullName
.Display
.Send
End With
Application.ScreenUpdating = True
Set Doc = Nothing
Set OL = Nothing
Set olInsp = Nothing
Set wdDoc = Nothing
Set oRng = Nothing
Set EmailItem = Nothing
End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
#3
|
|||
|
|||
|
Thank you, you may be right. How would I do that, ribbon buttons?
|
|
#4
|
|||
|
|||
|
Hi the code returns this error: .Attachments.Add Doc.FullName when i debug.
Any ideas? Thanks again |
|
#5
|
||||
|
||||
|
Does the folder C:\reports\templates\ exist? You will get an error if it doesn't.
The attached template includes a ribbon, a modified version of the code to reflect that, and includes some basic error correction. It also works! You can edit the ribbon with the CustomUI editor - see http://gregmaxey.com/word_tip_pages/...bbon_main.html
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
#6
|
|||
|
|||
|
Now that is really good, never realised you could do that?
I will have a read through it. I need to work out how to edit the button as the save location needs to be changed. Thank you so much. |
|
#7
|
||||
|
||||
|
The save location is in the code in the templates ModMain and in any case the default from your earlier post is created if not present.
Code:
Const strPath As String = "C:\reports\templates\"
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
| Tags |
| macro, save |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
Adding a Save button into a document
|
WyRm | Word | 12 | 03-23-2013 05:10 AM |
| Word ask to save template whenever i save a derived document | jorbjo | Word | 3 | 10-04-2012 10:52 AM |
Add a "SAVE" Button to a form template?
|
Dave L | Word | 9 | 03-21-2012 07:04 PM |
Adding email button to Word form
|
leilers | Word | 5 | 01-09-2012 03:21 PM |
| Adding an Email Button to a Word Document | maddoktor | Word | 0 | 12-01-2011 01:32 PM |