0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 37
1

Как корректно завершить вывод отчета в Excel?

30.03.2011, 13:28. Показов 1219. Ответов 5
Метки нет (Все метки)

Подскажите, как корректно завершить вывод отчета в Excel? Я объявляю новый объект, открываю лист, формирую отчет, он выводится на экран - все хорошо. Примерно так:
Visual Basic
1
2
3
4
5
6
Set Object = CreateObject('Excel.Application')
With Object
    .Workbooks.Add
    .Visible = True
    .ActiveSheet.Name = ''
End With
Но если выхожу из отчета и пытаюсь запустить Excel из другой формы, то ругается. Необходимо как то корректно закрывать эти листы и объекты. Спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2011, 13:28
Ответы с готовыми решениями:

Как корректно завершить COM порт?
Здравствуйте. Пишу программу на С++ CLR для считывания с устройства пакетов данных. Но тут...

Как корректно завершить поток
Написал программу-терминал для работы с последовательным портом с учетом нашей специфики работы....

Как корректно завершить чужое приложение?
Мне надо завершить чужое приложени, чтоб оно типо завершило свои действие сохранило то че надо. Я...

Сокеты и QThread - как корректно завершить поток
Пишу клиент с использованием QTcpSocket. Вынес разбор принимаемых сообщений в отдельный поток, но...

5
0 / 0 / 0
Регистрация: 01.03.2010
Сообщений: 223
30.03.2011, 13:58 2
Код
Set Object = Nothing
?
0
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 37
30.03.2011, 17:08  [ТС] 3
Не пошло. Примерно так я и пробовал. Все равно ругается. Говорит Object-defined error. Хотя он у меня описан как паблик (объект) и передается параметром в модули. Думаю еще что-то надо прописать. Может листы поименно закрывать?
0
Сумрак
30.03.2011, 17:10 4
Правильно сказали выше,как тока открыл Шит, и с ним нет ни каких действий из VB. Нулите все ссылки..
Set *** = Nothing
тока помните. что, обнулив ссылку на Word/ excel и т.д. Вы не закрываете приложение. Оно так и остается открытым, даже если вы его не Visible=True. Если убить ссылку на Прилоджение. к примеру Word(оно короче пишется), то в памяти останется открытое приложение - невидимое(Экземпляр . так сказать).
Если Вам необходимо закрыть само приложение а не убить просто ссылку...

dim WB as Word...
Set WB=***
*** тут все операции с Вордом
WB.Quit
set WB=Nothing
При этом закрывается Ворд и ССылка нулиться.
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 37
30.03.2011, 17:46  [ТС] 5
Теперь по-другому
Сейчас она закрывает приложение, в новой форме опять открывает, но ругается на первый же встретившийся оператор Range().
0
Сумрак
30.03.2011, 17:58 6
Еще раз...
Просто Range-это глобальный обьект Excel, чтоб им оперировать,Нужно указать (присвоить) конкретный обьект.
Visual Basic
1
2
3
4
dim R as range
set R=Activesheet.ActiveCells'( Selection)
r.interior.color=qbColor(8)
set r=nothing
если set R=Range.Cells(1,1) - то выдаст ошибку, т.к. он не знает откуда этот Range брать.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2011, 17:58
Помогаю со студенческими работами здесь

Как из одной программы корректно завершить другую?
Добрый день! Возникла проблема: одна программа запускает другую, а когда завершает свою работу...

Как корректно завершить программу при перзагрузке или отключении компьютера?
Как быть? Работает программа (чтение/запись данных в таблицу Access), а тут - перезагрузка или...

Вывод отчета в Excel
Здравствуйте. Просьба помочь с выводом в Excel. Имеется интервал между двумя случайными датами....

Вывод отчета в Excel
Уважаемые,помогите пожалуйста с генерировать отчет в шаблон в excel по номеру по порядку на...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru