VB 6.0 и Excel
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



VB 6.0 и Excel Expand / Collapse
Автор
Сообщение
16.04.2007 17:58


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.06.2008 14:10
Сообщ.: 275, Visits: 865
Здравствуйте!
Помогите, пожалуйста разобраться.
Я в Visual Basic 6.0 открываю приложение Excel создаю лист, записываю в него данные из БД и закрываю.
Но Excel почему-то не до конца закрывается. Если оставить xlApp.Visible = True, то видно что окно Microsoft Excel не закрылось.

И еще я пытаюсь закрепить области в книге

.Cells(a, 2).Select
ActiveWindow.FreezePanes = True

первый раз - нормально, потом ошибка...

делаю так:

ActiveWindow.FreezePanes = False
.Cells(a, 2).Select
ActiveWindow.FreezePanes = True

таже история.

:(
Сообщ. #912497
17.04.2007 11:43
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 26.10.2007 16:04
Сообщ.: 159, Visits: 1 042
можешь код показать как закрываешь эксел и какую ошибку выдает при FreezePanes?
Сообщ. #912514
17.04.2007 18:32


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.06.2008 14:10
Сообщ.: 275, Visits: 865
Dim xlApp As New Excel.Application
Dim Wbk As Workbook
Dim Wsh As Worksheet

Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False

Set Wbk = xlApp.Workbooks.Add
Wbk.Activate
Set Wsh = Wbk.Worksheets.Add
Wsh.Activate
...
ActiveWindow.FreezePanes = False
Wsh.Cells(a, 2).Select
ActiveWindow.FreezePanes = True
...
Wbk.SaveAs FileName:="C:\xx.xls", FileFormat:=xlNormal
Wbk.Close
Set Wsh = Nothing
Set Wbk = Nothing
Set xlApp = Nothing


Ошибка: Object variable or With block variable not set
Сообщ. #912543
18.04.2007 9:44
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 26.10.2007 16:04
Сообщ.: 159, Visits: 1 042
Чтоб зыкрыть эксел надо написать xlApp.Quit, ты же только книгу закрываешь.

Запустил твой код, если присвоить переменной "а" значение, то ошибок не возникает.  На какой строке у тебя возникает ошибка и какой версии эксел?

Кстати, одну из этих строк можно удалить:

Dim xlApp As New Excel.Application
Set xlApp = CreateObject("Excel.Application")

Сообщ. #912558
18.04.2007 11:13


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.06.2008 14:10
Сообщ.: 275, Visits: 865
xlApp.Quit уже поставил

если я пишу
а=2
ActiveWindow.FreezePanes = False
Wsh.Cells(a, 2).Select
ActiveWindow.FreezePanes = True

то ошибка на строке ActiveWindow.FreezePanes = False,
а если

а=2
Wsh.Cells(a, 2).Select
ActiveWindow.FreezePanes = True

то на строке ActiveWindow.FreezePanes = True

Excel 2002

А что предпочтительнее использовать
Dim xlApp As New Excel.Application
или
Set xlApp = CreateObject("Excel.Application")
Сообщ. #912562
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Comanche, Alexey Spirin

Время GMT +3:00, Сейчас 11:49