|
|
|
Supreme 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
таже история.
:(
|
|
|
|
|
Supreme Being
      
участник
Last Login: 26.10.2007 16:04
Сообщ.: 159,
Visits: 1 042
|
|
| можешь код показать как закрываешь эксел и какую ошибку выдает при FreezePanes?
|
|
|
|
|
Supreme 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
|
|
|
|
|
Supreme 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")
|
|
|
|
|
Supreme 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")
|
|
|
|