Solved

Export Access Report to Excel

Posted on 2007-12-02
5
993 Views
Last Modified: 2013-11-28
I'm exporting an Access report to Excel and formatting the spreadsheet with the below code in my OnClick event.

I would like to (in order of priority):
1. Remove the prompt to save the file on xcelapp.quit (assuming that's when that prompt appears)
2. Have the user be able to specify the file path instead of having to use the default
3. Have the user be able to specify the file name instead have it hard coded

Any help is appreciated!
Thx,

mv
Dim stDocName As String

    

    stDocName = "rpt_Report1"

    DoCmd.OutputTo acReport, stDocName
 

    Dim xcelwb As Excel.Workbook

    Dim xcelapp As Excel.Application

    Dim Sheet As Excel.Worksheet

            

    Set xcelapp = New Excel.Application

    Set xcelwb = xcelapp.Workbooks.Open("rpt_Report1.xls")

    Set Sheet = xcelapp.ActiveWorkbook.Sheets(1)

       

       'format the excel data

       With Sheet

            .Rows("1:1").Font.Bold = True

       End With

       

    xcelapp.Quit

    Set xcelapp = Nothing

    Set xcelwb = Nothing

    Set Sheet = Nothing

Open in new window

0
Comment
Question by:Michael Vasilevsky
  • 3
5 Comments
 
LVL 74

Expert Comment

by:Jeffrey Coachman
Comment Utility
mvasilevsky,
<Remove the prompt to save the file on xcelapp.quit (assuming that's when that prompt appears)>
Ok then do you want it to Save or NOT save?
Either way the end of your code will look like this (Remove the comments on the Save option you want)
'    'Saves changes
'    xcelwb.Close True
'    'Does NOT save changes
'    'xcelwb.Close False
'    xcelapp.Quit
'    Set xcelapp = Nothing
'    Set xcelwb = Nothing
'    Set Sheet = Nothing

<Have the user be able to specify the file path instead of having to use the default>
<Have the user be able to specify the file name instead have it hard coded>

As far a s I can see you are specifying the File's location when you output it.
I presume you are opening the same file to be formatted.

In that case the File name and path are the same in both so all you need to do is specify the Output file, save that filename and path, then use that location to open the same file to be formatted.

Is this correct?

JeffCoachman
0
 
LVL 46

Expert Comment

by:tbsgadi
Comment Utility
Hi mvasilevsky,

Try using the GetOpenFilename Method
http://www.dailydoseofexcel.com/archives/2004/06/09/getopenfilename/


Good Luck!

Gary
0
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 500 total points
Comment Utility
mvasilevsky,

Here is a sample:
https://filedb.experts-exchange.com/incoming/ee-stuff/5974-Access--EE_Q22996269ExportExcel.zip

Notes:
-If you provide a filename of a file that already exists, it will be over-written without warning, so be careful!
If you want to see the existing files in the dialog box, reverse the comments on these two lines in the FileToOpen Function:
OFN.lpstrFilter = "Excel Files (*.xls)" + Chr$(0) + "*.999" + Chr$(0)
'OFN.lpstrFilter = "Excel Files (*.xls)" + Chr$(0) + "*.xls" + Chr$(0)


-You need to add the cleanup code to your error handler, in case the code fails and the Excel objects are not closed.
Something similar to this:

On Error GoTo Err_ExcelExportAndFormat

********** Your Export/Format Code Goes Here **********

'Recordset Cleanup
rst.Close
Set rst = Nothing
dbs.Close
Set dbs = Nothing

Exit_ExcelExportAndFormat:
    'Avoids the endless loop
    On Error Resume Next
    Set xcelapp = Nothing
    Set xcelwb = Nothing
    Set Sheet = Nothing
    Exit Sub

Err_ExcelExportAndFormat:
    MsgBox "There was an error executing the command." _
    & vbCrLf & vbCrLf & "Error " & Err.Number & ": " _
    & vbCrLf & vbCrLf & Error, vbExclamation
    Resume Exit_ExcelExportAndFormat



-The Code to make the Dialog box appear is what I use.
If you are interested, there is a more popular way here:
http://www.mvps.org/access/api/api0001.htm
(Neither one is short or easy to read!)
:O

Study and test it fully.
Let me know if you have any issues

JeffCoachman
0
 
LVL 10

Author Closing Comment

by:Michael Vasilevsky
Comment Utility
Thank you much! Answered all my questions
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
Comment Utility
mvasilevsky,

Glad I could help!
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Introduction When developing Access applications, often we need to know whether an object exists.  This article presents a quick and reliable routine to determine if an object exists without that object being opened. If you wanted to inspect/ite…
I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

743 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now