powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / visual foxpro+excel
4 сообщений из 4, страница 1 из 1
visual foxpro+excel
    #32889321
yanash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, как правильно вызвать в Foxе функцию
автозаполнения Autofill (Excel) при автоматизации обьекта Excel из Foxpro.
Кто сталкивался, ответьте! Потому как присваивать значение ячейкам - это
скучно и не интересно (особенно при формировании отчета с 1500 строк )
...
Рейтинг: 0 / 0
visual foxpro+excel
    #32889391
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yanashПодскажите пожалуйста, как правильно вызвать в Foxе функцию
автозаполнения Autofill (Excel) при автоматизации обьекта Excel из Foxpro.
Кто сталкивался, ответьте! Потому как присваивать значение ячейкам - это
скучно и не интересно (особенно при формировании отчета с 1500 строк )

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    m.cTmpExcel =SYS( 2023 )+'\'+SYS( 2015 )+'.XLS' && SYS( 2015 )
    EXPORT TO &cTmpExcel TYPE XL5
    oExcel=""
    oExcel=CREATEOBJECT("Excel.Application")
    oExcel.VISIBLE=.F.
    oWorkbook = oExcel.Workbooks.OPEN(cTmpExcel)
    oExcel.Application.DisplayAlerts = .f.
    loWkBkTmp = oExcel.Workbooks.ADD()
    oWorkbook.ActiveSheet.COPY(loWkBkTmp.Sheets( 1 ))
    oWorkbook.CLOSE()
    IF FILE(cTmpExcel)
      DELETE FILE (cTmpExcel)
    ENDIF
    oExcel.APPLICATION.DisplayAlerts = .T.
    oExcel.ActiveSheet.RANGE("A1:F100").COLUMNS.AUTOFIT()
    oExcel.VISIBLE = .T.
    oExcel=''
...
Рейтинг: 0 / 0
visual foxpro+excel
    #32889412
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я привел весь текст, хотя ответ на Ваш вопрос всего одна строка:

Код: plaintext
1.
oExcel.ActiveSheet.RANGE("A1:F100").COLUMNS.AUTOFIT()
...
Рейтинг: 0 / 0
visual foxpro+excel
    #32889429
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какие проблемы-то? В Excel есть же пример. В крайнем случае, делаешь запись макроса в Excel и переводишь его в синтаксис FoxPro

Если делать буквально по HELP, то получается примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
#DEFINE xlFillDefault  0 
#DEFINE xlFillCopy  1 
#DEFINE xlFillSeries  2 
#DEFINE xlFillFormats  3 
#DEFINE xlFillValues  4 
#DEFINE xlFillDays  5 
#DEFINE xlFillWeekdays  6 
#DEFINE xlFillMonths  7 
#DEFINE xlFillYears  8 
#DEFINE xlLinearTrend  9 
#DEFINE xlGrowthTrend  10 

loExcel = CreateObject('Excel.Application')
loExcel.Workbooks.Add

* Вставляем значение в первую ячейку
loExcel.ActiveWorkbook.Sheets( 1 ).Cells( 1 , 1 ) =  1 

* Размножаем значение
loExcel.ActiveWorkbook.Sheets( 1 ).Range("A1").AutoFill(loExcel.ActiveWorkbook.Sheets( 1 ).Range("A1:A20"),xlFillSeries)

loExcel.Visible = .T.

В принципе, существует несколько технологий ускоренного экспорта в Excel:

-) Создавать временные файлы и открывать их напрямую в Excel. Затем "доработка по месту" (шапки, линии, выравнивание, форматирование)

-) Формировать переменную памяти и экспортировать в Excel через буфер обмена
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / visual foxpro+excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]