MarkH
lists at theopg.com
Tue Jun 15 12:34:35 CDT 2004
Hello Look at line 340 for example... >>> 340 Range("A1:I1").Select You may find if you use excelApp.activesheet.range... Etc helps (and on any following lines that are not fully qualified or nested in a WITH / END WITH block) Hth Mark -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jeffrey.demulling at usbank.com Sent: 15 June 2004 16:28 To: Access Developers discussion and problem solving Subject: [AccessD] Automation of Excel through Access Problem I am having some trouble with the code below. It works well for the first file that is passed to it but the second time the code is called it errors out on line 340. Anyone have any ideas on how to make this code work or what my problem might be. Thanks for any help. Sub FormatExcelFile(myfilename As String) Dim x As Integer Dim testvalue As String Dim excelApp As Excel.Application Dim excelFile As Excel.Workbook 'Open file 10 Set excelApp = CreateObject("Excel.Application") 20 excelApp.Visible = True 30 Set excelFile = excelApp.Workbooks.Open(myfilename) 40 With excelFile 'Setup the page 50 .Worksheets("AccountList").PageSetup.PrintTitleRows = "$1:$1" 60 .Worksheets("AccountList").PageSetup.PrintTitleColumns = "" 70 .Worksheets("AccountList").PageSetup.PrintArea = "" 80 .Worksheets("AccountList").PageSetup.LeftHeader = "" 90 .Worksheets("AccountList").PageSetup.CenterHeader = "&A" 100 .Worksheets("AccountList").PageSetup.RightHeader = "" 110 .Worksheets("AccountList").PageSetup.LeftFooter = "" 120 .Worksheets("AccountList").PageSetup.CenterFooter = "Page &P" 130 .Worksheets("AccountList").PageSetup.RightFooter = "" 140 .Worksheets("AccountList").PageSetup.LeftMargin = excelApp.InchesToPoints(0.75) 150 .Worksheets("AccountList").PageSetup.RightMargin = excelApp.InchesToPoints(0.75) 160 .Worksheets("AccountList").PageSetup.TopMargin = excelApp.InchesToPoints(1) 170 .Worksheets("AccountList").PageSetup.BottomMargin = excelApp.InchesToPoints(1) 180 .Worksheets("AccountList").PageSetup.HeaderMargin = excelApp.InchesToPoints(0.5) 190 .Worksheets("AccountList").PageSetup.FooterMargin = excelApp.InchesToPoints(0.5) 200 .Worksheets("AccountList").PageSetup.PrintHeadings = False 210 .Worksheets("AccountList").PageSetup.PrintGridlines = True 220 .Worksheets("AccountList").PageSetup.PrintComments = xlPrintNoComments 230 .Worksheets("AccountList").PageSetup.CenterHorizontally = False 240 .Worksheets("AccountList").PageSetup.CenterVertically = False 250 .Worksheets("AccountList").PageSetup.Orientation = xlLandscape 260 .Worksheets("AccountList").PageSetup.Draft = False 270 .Worksheets("AccountList").PageSetup.PaperSize = xlPaperLetter 280 .Worksheets("AccountList").PageSetup.FirstPageNumber = xlAutomatic 290 .Worksheets("AccountList").PageSetup.Order = xlDownThenOver 300 .Worksheets("AccountList").PageSetup.BlackAndWhite = False 310 .Worksheets("AccountList").PageSetup.Zoom = 73 320 .Worksheets("AccountList").PageSetup.PrintErrors = xlPrintErrorsDisplayed 'Format Header Row 330 .Worksheets("AccountList").Select 340 Range("A1:I1").Select 350 With Selection.Interior 360 .ColorIndex = 36 370 .Pattern = xlSolid 380 End With 390 Selection.Interior.ColorIndex = 6 400 Cells.Select 410 Selection.COLUMNS.AutoFit 420 Range("E1").Select 430 ActiveCell.FormulaR1C1 = "Account #" 440 Range("H1").Select 450 ActiveCell.FormulaR1C1 = "A=Active" & Chr(10) & "R=Resolved" 460 With ActiveCell.Characters(Start:=1, Length:=19).Font 470 .Name = "MS Sans Serif" 480 .FONTSTYLE = "Regular" 490 .Size = 10 500 .Strikethrough = False 510 .Superscript = False 520 .Subscript = False 530 .OutlineFont = False 540 .Shadow = False 550 .Underline = xlUnderlineStyleNone 560 .ColorIndex = xlAutomatic 570 End With 580 Range("J1").Select 590 ActiveCell.FormulaR1C1 = "Resolution-Healthy," 600 ActiveCell.FormulaR1C1 = _ "Resolution-Healthy," & Chr(10) & "Done (Paid Off, Final" & Chr(10) & "Distrib.), Resigned" 610 With ActiveCell.Characters(Start:=1, Length:=61).Font 620 .Name = "MS Sans Serif" 630 .FONTSTYLE = "Regular" 640 .Size = 10 650 .Strikethrough = False 660 .Superscript = False 670 .Subscript = False 680 .OutlineFont = False 690 .Shadow = False 700 .Underline = xlUnderlineStyleNone 710 .ColorIndex = xlAutomatic 720 End With 730 Range("J1").Select 740 With Selection.Interior 750 .ColorIndex = 6 760 .Pattern = xlSolid 770 End With 780 Range("B1").Select 790 ActiveCell.FormulaR1C1 = "'Default" & Chr(10) & "Admin" 800 With ActiveCell.Characters(Start:=1, Length:=13).Font 810 .Name = "MS Sans Serif" 820 .FONTSTYLE = "Regular" 830 .Size = 10 840 .Strikethrough = False 850 .Superscript = False 860 .Subscript = False 870 .OutlineFont = False 880 .Shadow = False 890 .Underline = xlUnderlineStyleNone 900 .ColorIndex = xlAutomatic 910 End With 920 COLUMNS("A:A").Select 930 Selection.Insert Shift:=xlToRight 940 Range("A1").Select 950 ActiveCell.FormulaR1C1 = "#" 960 Range("A2").Select 970 COLUMNS("B:B").ColumnWidth = 7.11 980 Range("A1").Select 990 With Selection.Interior 1000 .ColorIndex = 6 1010 .Pattern = xlSolid 1020 End With 1030 Selection.ColumnWidth = 4.89 1040 Range("B1").Select 1050 Selection.ColumnWidth = 6.56 1060 Range("C1").Select 1070 Selection.ColumnWidth = 6.89 1080 Range("D1").Select 1090 Selection.ColumnWidth = 44.89 1100 Range("E1").Select 1110 Selection.ColumnWidth = 17.11 1120 Range("F1").Select 1130 Selection.ColumnWidth = 14.67 1140 Range("G1").Select 1150 ActiveWindow.SmallScroll ToRight:=5 1160 Selection.ColumnWidth = 14.78 1170 Range("H1").Select 1180 Selection.ColumnWidth = 12.11 1190 Range("I3").Select 1200 COLUMNS("I:I").ColumnWidth = 10.67 1210 Range("J1").Select 1220 Selection.ColumnWidth = 14.11 1230 Range("K1").Select 1240 Selection.ColumnWidth = 17.22 1250 Cells.Select 1260 With Selection 1270 .HorizontalAlignment = xlGeneral 1280 .VerticalAlignment = xlTop 1290 .WrapText = True 1300 .Orientation = 0 1310 .AddIndent = False 1320 .INDENTLEVEL = 0 1330 .ShrinkToFit = False 1340 .ReadingOrder = xlContext 1350 .MergeCells = False 1360 End With 1370 With Selection 1380 .HorizontalAlignment = xlLeft 1390 .VerticalAlignment = xlTop 1400 .WrapText = True 1410 .Orientation = 0 1420 .AddIndent = False 1430 .INDENTLEVEL = 0 1440 .ShrinkToFit = False 1450 .ReadingOrder = xlContext 1460 .MergeCells = False 1470 End With 1480 Rows("1:1").Select 1490 With Selection 1500 .HorizontalAlignment = xlLeft 1510 .VerticalAlignment = xlBottom 1520 .WrapText = True 1530 .Orientation = 0 1540 .AddIndent = False 1550 .INDENTLEVEL = 0 1560 .ShrinkToFit = False 1570 .ReadingOrder = xlContext 1580 .MergeCells = False 1590 End With 1600 Range("D7").Select 1610 Range("C2").Select 1620 x = 1 1630 If ActiveCell.Value <> "" Then 1640 testvalue = "Not Empty" 1650 Else 1660 testvalue = "Empty" 1670 End If 1680 Do Until testvalue = "Empty" 1690 ActiveCell.Offset(0, -2).Select 1700 ActiveCell.Value = x 1710 ActiveCell.Offset(1, 2).Select 1720 x = x + 1 1730 If ActiveCell.Value <> "" Then 1740 testvalue = "Not Empty" 1750 Else 1760 testvalue = "Empty" 1770 End If 1780 Loop 'Center Data in column A 1790 ActiveCell.COLUMNS("A:A").EntireColumn.Select 1800 With Selection 1810 .HorizontalAlignment = xlGeneral 1820 .WrapText = True 1830 .Orientation = 0 1840 .AddIndent = False 1850 .INDENTLEVEL = 0 1860 .ShrinkToFit = False 1870 .ReadingOrder = xlContext 1880 .MergeCells = False 1890 End With 1900 With Selection 1910 .HorizontalAlignment = xlCenter 1920 .WrapText = True 1930 .Orientation = 0 1940 .AddIndent = False 1950 .INDENTLEVEL = 0 1960 .ShrinkToFit = False 1970 .ReadingOrder = xlContext 1980 .MergeCells = False 1990 End With 2000 COLUMNS("G:G").Select 2010 Selection.Style = "Comma" 'Close the file 2020 excelFile.Save 2030 excelFile.Close 2040 End With 2050 excelApp.Quit 2060 Set excelFile = Nothing 2070 Set excelApp = Nothing End Sub -- _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com