Darryl Collins
Darryl.Collins at coles.com.au
Sat Sep 6 20:08:19 CDT 2008
Actually, Stephen - send me the file anyway and I will clean the VBA code up for you. Can normally get good performance gains with few changes. If it is bigger than 4 MB you had better zip it up. cheers Darryl. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Stephen Sent: Saturday, 6 September 2008 5:45 PM To: Access Developers discussion and problem solving Subject: [AccessD] Building a spreadsheet from Access ... slow segment of code The code segment below takes around 10 seconds to run. The worksheet has been just created in code, an embedded chart has been built on the worksheet (again, code), and the code below is the 'prettying up' bit. Yep, to get it, I recorded a macro in Excel and then commented out the bits I didn't want/didn't work. I put some rudimentary time checks at random places in this segment. Embedded in the sample, I have put the elapsed time it took to get to the indicated line. Any ideas? The rest of it runs really fast on a 6-year-old PC (768MB, WinXP SP2, Processor x86 Family 6 Model 8 Stepping 0 AuthenticAMD ~1529 Mhz) but I can't see why this is happening. I am generating a couple of hundred sheets at a time, so the slowness is not trivial. TIA Stephen Bond ' finally build print specs xlWs.Range("A1").Select With xlWb.ActiveSheet.PageSetup .PrintArea = "" .PrintTitleRows = "" .PrintTitleColumns = "" .LeftHeader = "&6&Z&F!&A" ' 0 seconds .CenterHeader = "&""Arial,Bold""&16&A" .RightHeader = "&6Printed &D &T" .LeftFooter = "&6Prepared by Stephen Bond for " & conUser1 .CenterFooter = "&""Arial,Bold""&16&A" .RightFooter = "&6based on an idea by J McKinlay, Southland Boys' High School" ' 3 seconds ' .LeftMargin = Application.InchesToPoints(0.75) ' .RightMargin = Application.InchesToPoints(0.75) ' .TopMargin = Application.InchesToPoints(0.75) ' .BottomMargin = Application.InchesToPoints(0.75) ' .HeaderMargin = Application.InchesToPoints(0.5) ' .FooterMargin = Application.InchesToPoints(0.5) .PrintHeadings = False .PrintGridlines = True .PrintComments = xlPrintNoComments ' 5 seconds ''''' .PrintQuality = -4 .CenterHorizontally = True .CenterVertically = False .Orientation = xlLandscape .Draft = False ' 7 seconds .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = False ' 10 seconds .FitToPagesWide = 1 .FitToPagesTall = 1 .PrintErrors = xlPrintErrorsDisplayed ' 10 seconds End With -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com This email and any attachments may contain privileged and confidential information and are intended for the named addressee only. If you have received this e-mail in error, please notify the sender and delete this e-mail immediately. Any confidentiality, privilege or copyright is not waived or lost because this e-mail has been sent to you in error. It is your responsibility to check this e-mail and any attachments for viruses. No warranty is made that this material is free from computer virus or any other defect or error. Any loss/damage incurred by using this material is not the sender's responsibility. The sender's entire liability will be limited to resupplying the material.