Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
При выгрузке запроса в EXCEL, возможно ли как то предусмотреть, что бы шрифт листа
был Arial, например. То есть задать шрифт по умолчанию.

 DoCmd.TransferSpreadsheet acExport, , "Мой_Запрос", STR_TEMP_PATCH, True, ""

А то там "MS Sans Serif получается". Не очень читабелен он.

------------------------------------------------------------------------
Спасибо за ответ.

Сообщение было отредактировано: 18 апр 21, 18:50
18 апр 21, 18:57    [22310599]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7350
Вариант выберите сами:
Private Sub cmb_Click()
Dim objExcel As Object, wb As Workbook, ws As Worksheet
DoCmd.TransferSpreadsheet acExport, 8, "клиенты", "D:\F.xls"
Set objExcel = New Excel.Application
objExcel.Visible = False 'в фоновом режиме,true активирует окно,убрать последнюю строку кода
Set wb = objExcel.Workbooks.Open("D:\F.xls")
Set ws = wb.ActiveSheet
ws.Cells.Font.Name = "arial" 'или блок with(если меняете много свойств)
ws.Cells.Font.Size = 10
ws.Cells.Font.Bold = False '"умолчательно"-не писать
wb.Close (True)
End Sub
Private Sub cmb1_Click()
Dim xlApp As Excel.Application, wb As Workbook, ws As Worksheet
DoCmd.TransferSpreadsheet acExport, 8, "клиенты", "D:\F.xls"
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set wb = xlApp.Workbooks.Open("D:\F.xls")
Set ws = wb.ActiveSheet
ws.Cells.Font.Name = "tahoma"
ws.Cells.Font.Size = 8
ws.Cells.Font.Bold = True
wb.Close (True)
End Sub
не забудьте библиотеку Excel

Сообщение было отредактировано: 18 апр 21, 22:06
18 апр 21, 22:07    [22310657]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
sdku,
Спасибо большое.
Но в таком случае, программка будет зависеть от версии установленного EXCEL_я
То есть ссылку я прикреплю на одну версию офиса, а на другой машине оно работать не станет?
18 апр 21, 22:25    [22310664]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7350
час58,
А Вы попробуйте(о какой версии Ёкселя офиса речь-времен царя Гороха?)

Сообщение было отредактировано: 18 апр 21, 22:29
18 апр 21, 22:35    [22310666]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7350
Может ошибаюсь(не помню)но этот пример валялся в "помойке" и делался в офисе 2007-в 2010 все работает-а насчет наоборот не знаю
18 апр 21, 22:45    [22310669]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 620
час58, объявите переменные как Object и отключите библиотеку Excel.

Сообщение было отредактировано: 19 апр 21, 13:32
19 апр 21, 12:25    [22310867]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
Кривцов Анатолий,
Да. Точно!
19 апр 21, 14:37    [22310994]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
sdku
час58,
А Вы попробуйте(о какой версии Ёкселя офиса речь-времен царя Гороха?)

В любом случае - Спасибо!
19 апр 21, 14:38    [22310995]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
После выполнения этой функции, процесс EXCEl остаётся висеть.
Появляется резервная копия файла
Резервная копия Мой_Запрос.xlk


И дальнейшие работы с файлом не возможны,пока через диспетчер задач, не удалить процесс вручную.
Какая причина может быть?
Private Function ZADATb_FONT(STR_PATCH As String)

  Dim objExcelApp As Object
  Dim wb As Object
  Dim ws As Object
  
     Set objExcelApp = CreateObject("Excel.Application")
     Set wb = objExcelApp.Workbooks.Open(STR_PATCH)
     Set ws = wb.Sheets(1)
     
    ws.Cells.Font.Name = "Arial"
    ws.Cells.Font.Size = 10
    ws.Cells.Font.Bold = False

     wb.Save
     wb.Close False
     Set wb = Nothing
     objExcelApp.Quit
     Set objExcelApp = Nothing

End Function


Сообщение было отредактировано: 19 апр 21, 16:08
19 апр 21, 16:07    [22311086]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
booby
Member

Откуда:
Сообщений: 2534
час58,

добавьте перед очисткой переменной wb
Set ws = Nothing
и уберите objExcelApp.Quit - это лишнее
19 апр 21, 16:18    [22311090]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
booby,
Сделал так
  
    Set ws = Nothing
     wb.Save
     wb.Close False
    Set wb = Nothing
    Set objExcelApp = Nothing


Процесс перестал виснуть.

Появляется резервная копия файла
Резервная копия Мой_Запрос.xlk
19 апр 21, 17:33    [22311131]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7350
час58,
А так все работает корректно (без библиотеки Ёксель):
Private Sub cmb_Click()
Dim objExcel As Object, wb As Object, ws As Object
DoCmd.TransferSpreadsheet acExport, 8, "клиенты", "D:\F.xls"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False 'в фоновом режиме,true активирует окно-заремить wb.Close
Set wb = objExcel.Workbooks.Open("D:\F.xls")
Set ws = wb.ActiveSheet
ws.Cells.Font.Name = "arial" 'или блок with
ws.Cells.Font.Size = 10
ws.Cells.Font.Bold = False
wb.Close (True)
End Sub


Сообщение было отредактировано: 19 апр 21, 20:53
19 апр 21, 20:56    [22311241]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7350
вдогонку: у Вас в 22310599 пропущен второй аргумент,который по умолчанию 0-а это Excel3-может здесь "собака порылась"

Сообщение было отредактировано: 19 апр 21, 21:11
19 апр 21, 21:10    [22311247]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
sdku,
Попробую.
19 апр 21, 21:51    [22311256]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
sdku
вдогонку: у Вас в 22310599 пропущен второй аргумент,который по умолчанию 0-а это Excel3-может здесь "собака порылась"

Если аргумент пропущен, то используется тот EXCEL , что установлен на компутере.
Я так понял.
19 апр 21, 21:52    [22311257]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
sdku,
Вообще я сделал так
Появляется резервная копия файла
Резервная копия Мой_Запрос.xlk

Просто, тупо удаляю этот навязчивый файл. Потому как причину его появления не знаю.
--------------------------------------------------------
Файл XLK — это просто резервная копия текущего файла XLS , который редактируется. Excel создает эти файлы автоматически в случае, если что-то идет не так с документом Excel. Если, например, файл поврежден до такой степени, что его нельзя использовать больше, файл XLK действует как файл восстановления.

Файлы XLK также могут создаваться при экспорте информации из Microsoft Access в Microsoft Excel.


Сообщение было отредактировано: 19 апр 21, 21:49
19 апр 21, 21:54    [22311260]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 5230
час58,

Private Function ZADATb_FONT(STR_PATCH As String,  strTableName As String)

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strTableName, STR_PATCH, 1
    If Len(Dir$(STR_PATCH)) > 0 Then
        With GetObject(STR_PATCH)
                With .Worksheets(strTableName).Cells.Font
                    .Name = "Arial"
                End With
            .Windows(1).Visible = True
            .Close True
        End With
    End If
End Function
20 апр 21, 05:32    [22311296]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли задать шрифт в выгружаемом EXCEL файле  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1693
Спасибо Панург,
Классно оформлена функция!
20 апр 21, 10:48    [22311369]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить