Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46

Как в книгу Excel записать много листов не выходя из программы ?

15.03.2011, 17:13. Показов 1136. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, Всем доброго дня !!!
Нужна очень Ваша помощь.
Каким образом используя программный код VB, в книгу Excel записать
например 50 листов(информация разная - поступает из СУБД !!) не выходя из программы ???
Сейчас для одного екземпляра я поступаю так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Dim objExcel As Excel.Application
Dim sum As String, sum1 As String, num As String
Dim Tot As Single
Dim rc As String
Dim n As Integer
Dim cik%
Dim strBuffer As String
   m.Xecute 'S NT=''' & Piece(cmbNrTabFam.Text, ' ', 2) & ''''
   m.Do ('VB^VBREV')
   rc = m.Xecute('w FG')
   If Piece(rc, ' ', 1) = '' Then
   Call Rev5a
   Exit Sub
   End If
   lblInfo.Caption = 'Se prelucreaza Forma Rev5 !!!'
Set objExcel = New Excel.Application
objExcel.SheetsInNewWorkbook = 1 
objExcel.Workbooks.Add ('REV1C')
frmRev5.MousePointer = vbHourglass
strBuffer = frmRev5.Caption
 
   '****      EXCEL  !!!        ****
   
   '********* Family
    objExcel.Cells(5, 6).Value = Piece(rc, ' ', 32) & ' ' & 'An/Год'
    objExcel.Cells(8, 6).Value = Piece(rc, ' ', 1)
    objExcel.Cells(10, 6).Value = StrConv(Piece(rc, ' ', 2), vbProperCase)
    objExcel.Cells(11, 6).Value = StrConv(Piece(rc, ' ', 3), vbProperCase)
    objExcel.Cells(12, 6).Value = StrConv(Piece(rc, ' ', 4), vbProperCase)
    
   '******** Category
    objExcel.Cells(25, 5).Value = Piece(rc, ' ', 12)
    objExcel.Cells(25, 8).Value = Piece(rc, ' ', 13)
 
' и так далее.................................................
 
frmRev5.MousePointer = vbDefault
  Application.Quit
  pbr.Value = 0
  lblInfo.Caption = ''
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2011, 17:13
Ответы с готовыми решениями:

Сохранение листов Excel в новую книгу
Добрый день! Для создания новых книг использую код Set New_Wb = Workbooks.Add NewFileName = NewFileName &...

Как из программы создать книгу Excel
Помогите разобраться как из программы создавать файлы книг ЭксЭля. Очень надо. Заранее спасибо...

Не открывая книгу Excel проверить совпадение шапок всех листов книги с заданной шапкой
быстро и не открывая книгу EXCEL проверить совпадение шапок всех листов книги с заданной шапкой ( в шапке несколько строк)

3
Сумрак
15.03.2011, 17:38
1.Хех.. не выходя из какой проги..
2.Что значит записать Excel
3. Скоко листоав и из каких книг.
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46
16.03.2011, 08:57  [ТС]
С помощью MS EXCEL создан некий отчет (шаблон ), который хранится на диске под именем
' objExcel.Workbooks.Add ('REV1C') ', т.е. REV1C.xls
При помощью прогаммного кода, который я изложил, загоняю в этом отчете некие данные
из СУБД ,потом я его вывожу на печать.
Но, я могу печатать только по одному разу т. е. что-бы печатать данные по второму человеку
я закрываю и опять повторяю операцию с самого начало !!!
Вопрос состоит в том, что-бы не закрывая отчет накопить в цикле даные по каждому
человеку отдельно ( в ТОМ ЖЕ ОТЧЕТЕ !!!) но в разных листах, ну и естественно выводить на
печать всех сразу !!!

Бльшое спасибо.
0
0 / 0 / 0
Регистрация: 08.02.2008
Сообщений: 28
19.03.2011, 23:12
В экселе вроде есть такая фигня как разрыв страницы, код примерно такой
Лист1.Range('A' + Str(LineNumber)).HPageBreaks.Add
-------------------
То есть после того как вывел на лист данные по первому сотруднику ставь этот разрыв, копируй(программно естетсвенно) свой шаблон на строки после разрыва и заполняй себе спокойно по второму и т.д. сотруднику, после чего печатай этот лист и всё. Если шаблон на первом листе, то заполняй второй лист, просто копируя шаблон.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.03.2011, 23:12
Помогаю со студенческими работами здесь

Как создать телефонную книгу (вытащить данные из нескольких листов на один), телефонная книга
В файле есть 50 листов с именами, фамилиями сотрудников и другой инфой. Нужно: 1 - создать телефонную книгу, на один лист...

Оставить после выполнения программы книгу Excel открытой
Здравствуйте! Я создаю Ole объект: Application=CreateOleObject("Excel.Application"); Открываю книгу Excel, используя OleProcedure: ...

Как редактировать книгу Excel без её открытия в Excel?
Я реализовал на VBA процедуру пакетного редактирования всех книг в папке, и подготовки сводной таблицы по данным в этих книгах. Всё...

Как пользуясь ADO извлечь строки c задаными критериями из одной книги Excel и поместить в другую книгу Excel?
Доброго времени суток, форумчане! Кто знает, подскажите пожалуйста, как с помощью ADO открыть соединение с другой книгой excel (с...

Сделать из листов книгу
Всем привет ! Нужна ваша помощь. Уже много дней ищу в нэте скрипт на Libre office calc , перелазил много форумов, был на официальном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru