Solved

Delete save as file

Posted on 2010-11-10
6
314 Views
Last Modified: 2012-05-10
Hi Experts,

I would like to request Experts help. How to delete the save as workbook at “ActiveWorkbook.SaveAs ThisWorkbook.path” after the document is delivered via email? Hope Experts could help to add this feature in the attached script.



Function SendMsg(strSubject As String, _
                   strBody As String, _
                   strTO As String, _
                   Optional strDoc As String, _
                   Optional strCC As String, _
                   Optional strBCC As String)
       
    Dim oLapp
    Dim oItem
    Dim myattachments
    Dim fs As String

    Set oLapp = CreateObject("Outlook.Application")
    Set oItem = oLapp.CreateItem(olMailItem)
    Application.DisplayAlerts = False
    ThisWorkbook.Sheets("Request").Copy
    Call deleteButton2
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    ThisWorkbook.VBProject.VBComponents("GMT").Export Environ("Temp") & "\GMT.bas"
    ActiveWorkbook.VBProject.VBComponents.Import (Environ("Temp") & "\GMT.bas")
    
    ActiveWorkbook.SaveAs ThisWorkbook.path & "\" & Sheets("Request").Cells(1, "i") & "_" & Sheets("Request").Cells(5, "I") & ".xls", FileFormat:=-4143
   
    
    Application.DisplayAlerts = True
    fs = ActiveWorkbook.FullName
    ActiveWorkbook.Close

   oItem.Subject = strSubject
     
    

    addr1 = "thv@gmail.com"
   

    oItem.To = addr1 + ";" + addr2 '+ ";" + addr3

    oItem.CC = strCC
   
    oItem.BCC = strBCC
    'oItem.BodyFormat = olFormatHTML
    oItem.htmlbody = strBody
    oItem.Importance = olImportanceHigh
    oItem.attachments.Add fs
'
  
   oItem.display 'send
   
   
   
    Set oLapp = Nothing
    Set oItem = Nothing
       
End Function

Open in new window

0
Comment
Question by:Theva
6 Comments
 
LVL 7

Expert Comment

by:mkobrin
ID: 34109003
I'm not sure about the VB syntax, but the C# Syntax would be:
System.IO.File.Delete(fs);

I'm assuming that the fs string contains the full path and file name of the file you want to delete.

You should put this just before the Set oLapp = nothing command.

regards,

Mike
0
 
LVL 50

Accepted Solution

by:
Dave Brett earned 500 total points
ID: 34109020
replace

oItem.display 'send

with

Dave

oItem.display 'send
Kill fs

Open in new window

0
 

Expert Comment

by:gladson1976
ID: 34109075

 oItem.display 'send
' Below is the code added in between ur code starts here
'fs.DeleteFile (Server.MapPath("./XXFolder") & "\XXFilename*.*")   ' If required use this to delete all the files

'fs.DeleteFile(FilePath)
fs.DeleteFile("\" & Sheets("Request").Cells(1, "i") & "_" & Sheets("Request").Cells(5, "I") & ".xls")

'Above is the code added in between ur code ends here
  Set oLapp = Nothing
0
 
LVL 50

Expert Comment

by:Dave Brett
ID: 34109095
gladson1976

fs is a string. Not the scripting object which is not utilised in this code

Dave
0
 

Author Closing Comment

by:Theva
ID: 34109201
Hi,

Thanks for the help.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Excel can be a tricky bit of software to get your head around. Whilst you’ll be able to eventually get to grips with the basic understanding of how to get by, there are a few Excel tips that not everybody will even know about let alone know how to d…
In this step by step procedure, you will come to know the details of creating an Outlook meeting in 2007, 2010, 2013 & 2016.
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

806 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question