powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / опять Exel
5 сообщений из 5, страница 1 из 1
опять Exel
    #33350702
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*С foxclub.ru взял пример работы с Exel-ем от В.Максимова
* Создаем объект Excel
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
LOCAL loExcel as Excel.Application 
loExcel=CREATEOBJECT('Excel.Application')
* Создаем новую рабочую книгу
loExcel.Visible= .T.
LOCAL loBook as Excel.Workbook 
#DEFINE xlWBATWorksheet - 4167 
loBook = m.loExcel.workbooks.Add(xlWBATWorksheet)
* Создаем ссылку на новый лист рабочей книги
LOCAL loSheet as Excel.Worksheet 
loSheet = m.loBook.Sheets( 1 )
Все чудесно работает, однако можно ли создать еще один лист, в который надо поместить другой отчет.
Если создаю книгу с кол-вом листов по умолчанию:
[/src]loBook = m.loExcel.workbooks.Add.Sheets()
[/src]тогда не могу создать ссылку на лист рабочей книги, выдает ошибку.
...
Рейтинг: 0 / 0
опять Exel
    #33350936
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Excel другая логика.

Создать новую рабочую книгу с количеством листов по умолчанию:

Код: plaintext
loBook = m.loExcel.workbooks.Add()

Далее надо проверить, а сколько же листов в этой новой книге.

Код: plaintext
1.
LOCAL lnSheetsCount, lnSheetsNeed
lnSheetsCount = m.loBook.Sheets.count

И вот если в этой новой книге количество листов отлично от 0, то получаем ссылку на нужный лист

Код: plaintext
1.
LOCAL loSheet as Excel.Worksheet 
loSheet = m.loBook.Sheets( 1 )

Если же надо именно создать новый лист в текущей рабочей книге (файле Excel), то это делается так:

Код: plaintext
1.
* Вставка одного листа ПЕРЕД ТЕКУЩИМ листом
loSheet = m.loBook.Sheets.Add()

Если надо сделать вставку нового листа, например, после последнего листа, то

Код: plaintext
1.
2.
3.
4.
* Количество листов
LOCAL lnSheetsCount
lnSheetsCount = m.loBook.Sheets.count

loSheet = m.loBook.Sheets.Add(NULL, m.loBook.Sheets(m.lnSheetsCount),  1 )

Последний параметр - это сколько листов надо вставить. В данном случае - 1.
...
Рейтинг: 0 / 0
опять Exel
    #33350988
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо.
Еще бы собрать все в
http://forum.foxclub.ru/list.php?f=32
:))
...
Рейтинг: 0 / 0
опять Exel
    #33351492
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi GoshaS!

Не надо там "всё" - для этого в частности есть поиск по форуму, читать же
многостраничный (хелп по программированию Excel это пожалуй не одна сотня
страниц будет) документ никто не станет... Да впрочем и писать "про всё"
Владимир конечно тоже не станет - т.к. это дурная и ненужная работа - для
этого есть собственно хелп по VBA - о чём кстати Владимир упомянул.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
опять Exel
    #33354146
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
Hi GoshaS!

Не надо там "всё" - для этого в частности есть поиск по форуму, читать же
многостраничный (хелп по программированию Excel это пожалуй не одна сотня
страниц будет) документ никто не станет... Да впрочем и писать "про всё"
Владимир конечно тоже не станет - т.к. это дурная и ненужная работа - для
этого есть собственно хелп по VBA - о чём кстати Владимир упомянул.

Posted via ActualForum NNTP Server 1.3
Имеется в виду - все выше написанное объяснение. Или хотя бы ссылку выложить в http://forum.foxclub.ru/list.php?f=32
Тем конечно в формуме по Excel тьма, только все об одном. Хотя понравилась еще ветка по ускорению записи в Excel
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / опять Exel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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