Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Как при экспорте в excel задать шрифт (просят arial размер 12)?  [new]
Quiet333
Member

Откуда: 55-37 сш 37-37 вд
Сообщений: 1020
В теме и весь вопрос.
Access 2003 экспортирую так
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, ....


или как-то по-другому делать?
9 авг 19, 18:22    [21945855]     Ответить | Цитировать Сообщить модератору
 Re: Как при экспорте в excel задать шрифт (просят arial размер 12)?  [new]
Panfik
Member

Откуда: Санкт-Петербург
Сообщений: 111
Quiet333,

я когда-то экспортировал так:

Public Function acbCreateExcel(strRst As String, strExcelName As String, _
            strRstSheetName As String, Optional intCropEndColumns As Integer = 0)
' создает книгу strExelName(полный путь),
' добавляет в нее лист strRstSheetName с данными strRst (таблица или запрос)
' intCropEndColumns - число обрезаемых столбцов справа
Dim intRow As Integer
Dim intCol As Integer

DoCmd.Hourglass True
    Set xlw = CreateObject("Excel.Sheet")
    Set xla = xlw.Parent
    Set xls = xlw.ActiveSheet
DoCmd.Hourglass False
    acbRstToSheet xls, strRst, strExcelName, strRstSheetName, intCropEndColumns
    xlw.SaveAs strExcelName
    xlw.Close
    xla.Quit
    Set xls = Nothing
    Set xlw = Nothing
    Set xla = Nothing
End Function

Private Function acbRstToSheet(xlSheet As Object, strRst As String, strExcelName As String, strSheetName As String, _
                               Optional intCropEndColumns As Integer = 0)
Dim dbs As Database
Dim rst As Recordset
Dim intRow As Integer
Dim intCol As Integer

DoCmd.Hourglass True
    Set dbs = CurrentDb()
    Set rst = dbs.OpenRecordset(strRst)
        
    xlSheet.Name = strSheetName

    intRow = 1
    For intCol = 1 To rst.Fields.Count - intCropEndColumns
        xlSheet.Cells(intRow, intCol).Value = rst(intCol - 1).Name
        xlSheet.Cells(intRow, intCol).HorizontalAlignment = xlCenter
        xlSheet.Cells(intRow, intCol).Font.Bold = True
        'xlSheet.Cells(intRow, intCol).Interior.ColorIndex = 15
    Next intCol
    intRow = 2
    If rst.RecordCount > 0 Then
        rst.MoveFirst
        Do Until rst.EOF
            For intCol = 1 To rst.Fields.Count - intCropEndColumns
                If (Not IsNull(rst(intCol - 1))) Then
                    xlSheet.Cells(intRow, intCol).Value = CStr(rst(intCol - 1))
                End If
            Next intCol
            rst.MoveNext
            intRow = intRow + 1
        Loop
        For intCol = 1 To rst.Fields.Count
            xlSheet.Columns(intCol).Font.Name = "Tahoma"
            xlSheet.Columns(intCol).Font.SIZE = 8
            xlSheet.Columns(intCol).AutoFit
        Next intCol
    End If
    rst.Close
    Set rst = Nothing
    dbs.Close
    Set dbs = Nothing
DoCmd.Hourglass False
  
End Function
9 авг 19, 22:02    [21945967]     Ответить | Цитировать Сообщить модератору
 Re: Как при экспорте в excel задать шрифт (просят arial размер 12)?  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6184
Private Sub cmb_Click()
Dim objExcel As Object, wb As Workbook, ws As Worksheet
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel5, "tbl", "D:\Fname.xls"
Set objExcel = New Excel.Application
objExcel.Visible = False 'фоновый режим,True-активирует окно Excel
Set wb = objExcel.Workbooks.Open("D:\Fname.xls")
Set ws = wb.ActiveSheet
ws.Cells.Font.Name = "arial" 'или
ws.Cells.Font.Size = 14     'блок 
ws.Cells.Font.Bold = True  'with
wb.Close (True)
End Sub
Естессно, для разных файлов Fname разные-слепить из значений на форме с которой запускаете процедуру.
Не забудьте библиотеку Excel
10 авг 19, 02:31    [21946026]     Ответить | Цитировать Сообщить модератору
 Re: Как при экспорте в excel задать шрифт (просят arial размер 12)?  [new]
Quiet333
Member

Откуда: 55-37 сш 37-37 вд
Сообщений: 1020
sdku,

Спасибо. Заказчик удовлетворен.
22 авг 19, 17:38    [21955804]     Ответить | Цитировать Сообщить модератору
 Re: Как при экспорте в excel задать шрифт (просят arial размер 12)?  [new]
Quiet333
Member

Откуда: 55-37 сш 37-37 вд
Сообщений: 1020
sdku,

А можно ли еще сюда добавить чтобы ширина колонок настроилась по размеру данных?
28 авг 19, 10:46    [21958847]     Ответить | Цитировать Сообщить модератору
 Re: Как при экспорте в excel задать шрифт (просят arial размер 12)?  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4339
Quiet333, можно. ищи autofit
28 авг 19, 11:18    [21958886]     Ответить | Цитировать Сообщить модератору
 Re: Как при экспорте в excel задать шрифт (просят arial размер 12)?  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4339
Quiet333, так то не плохо бы искать информацию не абы каком форуме, а там где обсуждают продукт объектную модель которого ты используешь
autofit
28 авг 19, 11:21    [21958890]     Ответить | Цитировать Сообщить модератору
 Re: Как при экспорте в excel задать шрифт (просят arial размер 12)?  [new]
Quiet333
Member

Откуда: 55-37 сш 37-37 вд
Сообщений: 1020
Панург
можно. ищи autofit

спасибо. это оно

Панург
так то не плохо бы искать информацию не абы каком форуме, а там где обсуждают продукт объектную модель которого ты используешь

Так начинал то с вопроса access, и не почувствовал как переполз в другой форум...
так еще и знать надо что искать нужно такое мудреное слово
28 авг 19, 11:49    [21958941]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить