powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Потеря ActiveSheet
17 сообщений из 42, страница 2 из 2
Excel. Потеря ActiveSheet
    #36887351
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в случае отсутствия ошибки прошу любезно указать как именно вы обращаетесь с Excel в приложении
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887359
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Kallandor
> выделенное не поняла к чему относится =)

Выделенное относится к твоим словам, что теряется ссылка на ActiveSheet, ну и возникает ошибка "Application-defined or
object-defined error".
Код: plaintext
1.
2.
Dim s As Worksheet, ..., w1 As WorkbookSet w1 = Application.Workbooks.Add
Set s = w1.Worksheets.Add
s.Name = "Лист1"
Объявили переменные, добавляем новую книгу и сразу подхватываем её переменной. Далее, добавляем в
созданную книгу лист и подхватываем его переменной соответствующего типа. А дальше просто работаем и не паримся :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887368
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kallandor,

Коллега, мне очень приятно, что вы не посылаете меня на три буквы

Коллега, у меня есть приложения, работающие с вордом и экселем из VB6 и я с такими проблемами не сталкивался.

Коллега, я искренне желаю вам помочь, но уж тестовый проект, который я мог бы попробовать, вы могли бы сделать и сами, это правила хорошего тона, разве нет?
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887372
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Kallandor
> в случае отсутствия ошибки прошу любезно указать как именно вы обращаетесь с Excel в приложении

Ошибка появится сразу, как только начнется редактирование содержимого ячейки. Что-бы этого избежать нужно не искать
открытый ексел, а создавать новый через CreateObject и в нём все делать, после чего сохранять и закрывать сделанный файл
и созданный ексел и открывать сделанный файл для пользователя.
По другому никак.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887406
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProKallandor,

Коллега, мне очень приятно, что вы не посылаете меня на три буквы

Коллега, у меня есть приложения, работающие с вордом и экселем из VB6 и я с такими проблемами не сталкивался.

Коллега, я искренне желаю вам помочь, но уж тестовый проект, который я мог бы попробовать, вы могли бы сделать и сами, это правила хорошего тона, разве нет? коллега, а проделать эксперимент вам религия не позволяет ?
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887423
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
> Автор: Kallandor
> в случае отсутствия ошибки прошу любезно указать как именно вы обращаетесь с Excel в приложении

Ошибка появится сразу, как только начнется редактирование содержимого ячейки. Что-бы этого избежать нужно не искать
открытый ексел, а создавать новый через CreateObject и в нём все делать, после чего сохранять и закрывать сделанный файл
и созданный ексел и открывать сделанный файл для пользователя.
По другому никак.

провела эксперимент с созданием нового экземпляра эксель... так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim ExcelApp As Object, exws As Object
Set ExcelApp = CreateObject("excel.application")
ourexcel = True
ExcelApp.Visible = True

Set exws = ExcelApp.Workbooks.Add


и начали возникать ошибки при обращении к exws, например тут
Код: plaintext
exws.PageSetup.LeftHeader = "Report:  My1" & Chr( 10 ) & "" & Chr( 10 ) & "Type:  2"
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887490
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Kallandor

А зачем показываешь ексел сразу, а не после приготовления всего, что нужно?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887501
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос
> Автор: Kallandor

А зачем показываешь ексел сразу, а не после приготовления всего, что нужно?

нужно по условию задачи
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887740
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уважаемые, больше идей нет?
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887758
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kallandorуважаемые, больше идей нет?
Если до вечера в топике-таки окажется тестовый проект - я его вечерком помучаю, ща некогда...
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887768
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36887835
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One тут глянь exws.PageSetup.LeftHeader тут не причом =)
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36888419
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Вас в коде ссылка не на лист, а книгу: Set exws = ExcelApp.Workbooks.Add
А у объекта книги нет PageSetup, поэтому и ошибка
Правильно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub Test()
  Dim ExcelApp As Object, Wb As Object, Ws As Object
  Set ExcelApp = CreateObject("Excel.Application")
  Set Wb = ExcelApp.Workbooks.Add
  Set Ws = Wb.Sheets( 1 )
  Ws.PageSetup.LeftHeader = "Report:  My1" & Chr( 10 ) & "" & Chr( 10 ) & "Type:  2"
  ExcelApp.Visible = True  ' Это нужно делать в конце обработки или вообще не делать
  Set Ws = Nothing
  Set Wb = Nothing
End Sub
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36888897
Фотография Kallandor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVIУ Вас в коде ссылка не на лист, а книгу: Set exws = ExcelApp.Workbooks.Add
А у объекта книги нет PageSetup, поэтому и ошибка
Правильно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub Test()
  Dim ExcelApp As Object, Wb As Object, Ws As Object
  Set ExcelApp = CreateObject("Excel.Application")
  Set Wb = ExcelApp.Workbooks.Add
  Set Ws = Wb.Sheets( 1 )
  Ws.PageSetup.LeftHeader = "Report:  My1" & Chr( 10 ) & "" & Chr( 10 ) & "Type:  2"
  ExcelApp.Visible = True  ' Это нужно делать в конце обработки или вообще не делать
  Set Ws = Nothing
  Set Wb = Nothing
End Sub

результат один и тот же =(
равен описанному в стартовом посте
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36888921
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очень странно, но у меня этот пример отрабатывает без ошибок и добавляет новый вид заголовка
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36889697
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Konst_One
> очень странно, но у меня этот пример отрабатывает без ошибок и добавляет новый вид заголовка


Наверное потому, что у тебя установлен принтер :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Excel. Потеря ActiveSheet
    #36889865
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kallandorрезультат один и тот же =(
равен описанному в стартовом посте
Игорь прав, установите себе по умолчанию какой-нибудь (можно виртуальный принтер) и проверьте еще раз.
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Потеря ActiveSheet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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