Heenan, Lambert
Lambert.Heenan at AIG.com
Mon Nov 24 09:47:44 CST 2003
Two questions here <g>. 1/ Setting the column width. Here's a routine I use to format a range of columns so they fit the data in them, and also it formats the column headers. Sub FormatAndAutoFitHeaders(sFileName As String, nWkSheetNumber As Integer, nLastColumn As Integer _ , Optional nFirstColumn As Integer = 1, Optional nCellColor As Long = vbYellow _ , Optional nCellBorder As Long = vbBlack) Dim xlFile As Excel.Application Dim xlwb As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim oRng As Excel.Range Set xlFile = OpenXLWorkBookHidden(sFileName) With xlFile Set xlwb = xlFile.Workbooks(GetFileName(sFileName)) Set xlSheet = xlwb.Worksheets(nWkSheetNumber) Set oRng = xlSheet.Range(xlSheet.Cells(1, nFirstColumn), xlSheet.Cells(1, nLastColumn)) oRng.EntireColumn.AutoFit oRng.Interior.Color = vbYellow oRng.Borders.Color = vbBlack Set oRng = Nothing Set xlSheet = Nothing Set xlwb = Nothing End With CloseXLWorkBook xlFile, True End Sub This uses three other routines. Function OpenXLWorkBookHidden(Path As String, Optional UpdateLinks As Boolean = False, Optional password As String = "") As Excel.Application Dim xlObj As Excel.Application On Error GoTo OpenXLWorkBookHidden_err 'Check to see if the file name passed in to the procedure is valid If IsNull(Path) Or isDirectory(Path) Or Not FileExists(Path) Then MsgBox Path & " isn't a valid path!", vbCritical, "Open Excel Workbook" Set OpenXLWorkBookHidden = Nothing Exit Function Else Set xlObj = CreateObject("Excel.Application") xlObj.Workbooks.Open Path, UpdateLinks, , , password Set OpenXLWorkBookHidden = xlObj End If OpenXLWorkBookHidden_exit: Exit Function OpenXLWorkBookHidden_err: ' call your own error reporting routine here. ' ReportError Err.Number, Err.Description, "OpenXLWorkBookHidden", "Excel_mod", "File Name=" & Path Set OpenXLWorkBookHidden = Nothing Resume OpenXLWorkBookHidden_exit End Function Sub CloseXLWorkBook(xlApp As Excel.Application, Optional bSaveChanges As Boolean = False) Dim wb As Excel.Workbook On Error Resume Next If xlApp.Name > "" Then End If If Err.Number <> 0 Then Exit Sub On Error GoTo 0 For Each wb In xlApp.Workbooks 'Close all open workbooks wb.Close bSaveChanges Next wb xlApp.UserControl = False Set xlApp = Nothing End Sub and finally Function GetFileName(aPath) As String Dim fPath As String fPath = GetPath(aPath) If Len(fPath) = Len(aPath) Then ' only a path was provided GetFileName = "" Else GetFileName = Right$(aPath, Len(aPath) - Len(fPath)) End If End Function which in turn uses... Function GetPath(aPath) As String ' Strips the path name from the supplied file and path name ' leaves the trailing slash on there Dim foo As Integer, aSlash As Integer aSlash = 0 foo = InStr(aPath, "\") While (foo > 0) aSlash = foo foo = InStr(aSlash + 1, aPath, "\") Wend If aSlash > 0 Then GetPath = Left$(aPath, aSlash) Else GetPath = "" End If End Function as for setting the colum to Time format, simply recording a macro in Excel reveals the code looks like this... Sub Macro1() ' ' Macro1 Macro ' Macro recorded 11/24/2003 by L Heenan ' ' Columns("A:A").Select Selection.NumberFormat = "h:mm:ss" End Sub HTH Lambert > -----Original Message----- > From: Dale Kalsow [SMTP:dkalsow at yahoo.com] > Sent: Monday, November 24, 2003 10:29 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] Excel Automation Question > > > Goood Morning Everyone, > > > > I have an excel automation question. I have Access XP and though vba I am > writing to an excel spread sheet. Does any know how to set the column > width of a column in excel and then format that column for time. > > > > Thanks in advance. > > > > Dale > > > > --------------------------------- > Do you Yahoo!? > Free Pop-Up Blocker - Get it now > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com