![]() |
|
#1
|
|||
|
|||
|
Hi
Newbie to word vba, have some excel vba experience but not an expert. I have developed a form, which is a basic active x form, only to be used during this virus. It's saved as a Word Macro enabled template. The command button on the form saves it and emails it as an attachment, which works great, see below, however the issue I have is that this saves the master form, which is saved on our network, which for Data Protection purposes, the business does not want to happen. I guess the question I have is how do I edit the code below, to in my thoughts, a save as before sending or clear down of the 2nd column of the table when closing...hope this makes sense. 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 Doc.Save With EmailItem .Subject = "ENTER SUBJECT LINE HERE" .Body = "ENTER MESSAGE HERE" '& vbCrLf & _ '"BODY SECND LINE" & vbCrLf & _ '"BODY THIRD LINE" .To = "ENTER RECIPIENT EMAIL HERE" '.CC = "ENTER A CC EMAIL ADDRESS AND REMOVE COMMENT OUT TO MAKE LIVE" Importance = olImportanceHigh .Attachments.Add Doc.FullName .Send End With Application.ScreenUpdating = False Thanks in advance |
|
#2
|
||||
|
||||
|
There are a couple of issues that need attention in your code, but for the main part, the document you have created from your template can be saved as a temporary file, attached to the message and then deleted e.g. as follows. Personally I would use the code at Test if Outlook is open and open Outlook with VBA to open/start Outlook, but this will work with some minor changes.
Code:
Private Sub CommandButton1_Click()
'Graham Mayor - https://www.gmayor.com - Last updated - 27 Apr 2020
Dim OL As Object
Dim olInsp As Object
Dim EmailItem As Object
Dim Doc As Document
Dim wdDoc As Document
Dim oRng As Range
Dim strPath As String
strPath = Environ("TEMP") & "\Filename.docx" 'change name as required
Application.ScreenUpdating = False
Set OL = CreateObject("Outlook.Application")
Set EmailItem = OL.CreateItem(0)
Set Doc = ActiveDocument
Doc.SaveAs2 FileName:=strPath, FileFormat:=12, AddToRecentFiles:=False
With EmailItem
.Subject = "ENTER SUBJECT LINE HERE"
.To = "ENTER RECIPIENT EMAIL HERE"
'.CC = "ENTER A CC EMAIL ADDRESS AND REMOVE COMMENT OUT TO MAKE LIVE"
.Importance = 2
Set olInsp = .GetInspector
Set wdDoc = olInsp.WordEditor
Set oRng = wdDoc.Range
oRng.Collapse 1
.Display 'This line is required
oRng.Text = "ENTER MESSAGE HERE" '& vbCrLf & _
'"BODY SECND LINE" & vbCrLf & _
'"BODY THIRD LINE"
.Attachments.Add strPath
.Send
End With
Doc.Close 0
Kill strPath
Application.ScreenUpdating = True
Set OL = Nothing
Set EmailItem = Nothing
Set olInsp = Nothing
Set wdDoc = Nothing
Set oRng = 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 |
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Command Button | herman777 | Excel Programming | 2 | 06-02-2019 06:45 AM |
| Show table list by using chek box command and save document on sharepoint by using command button | Zhibek | Word VBA | 3 | 08-16-2018 06:19 PM |
| Help with a Command Button | dkohnken | Word VBA | 5 | 03-18-2015 10:13 PM |
| Command Button | knp11 | PowerPoint | 2 | 01-18-2015 01:41 PM |
Command Button
|
cksm4 | Word VBA | 7 | 02-27-2011 08:47 PM |