На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Ошибка 429 при работе с Excel. , Visual BAsic v.6.0.
    Создаю объект, работаю с ним, очищаю.

    ExpandedWrap disabled
      Dim oExcelApp As New Excel.Application  'Приложение.
      Dim oDocExcel As New Excel.Workbook 'Документ Excel.
      Dim oExWs As New Excel.Worksheet 'Таблица документа Excel.
       
         'Создать приложение Excel и скрытно работать с документом.
      37 Set oExcelApp = New Excel.Application
      38 oExcelApp.Visible = False
      39 oExcelApp.IgnoreRemoteRequests = True
      40 Set oDocExcel = oExcelApp.Workbooks.Open(g_oCommonDialog.FileName, , True)
      41 Set oExWs = oDocExcel.ActiveSheet



    Если же происходит ошибка - посылаю в ErrorHandler.

    ExpandedWrap disabled
      ErrorHandler:
      1000003 If Not oDocExcel Is Nothing Then Call oDocExcel.Close(False)
      1000004 If Not oExcelApp Is Nothing Then
      1000005     oExcelApp.IgnoreRemoteRequests = False
      1000006     Call oExcelApp.Quit
      1000007 End If


    Однако, если объекты убиваются ранее - проверка IS NOTHING проваливается с ошибкой 429. IsNull не помогает так же. Дебаггер показывает "Object variable not set".

    Как правильно написать условие "если приложение/документ/таблица СУЩЕСТВУЮТ - делать с ними что-нибудь"?
      Цитата Сергей85 @
      Создаю объект

      Неправильно. Либо New указывается в Dim, и Set = New не нужен, либо Dim без New и Set New.

      Цитата Сергей85 @
      если объекты убиваются ранее - проверка IS NOTHING проваливается с ошибкой 429

      Error 429 - это "ActiveX component can't create object.". И это неудивительно. Почитайте справку про операторы и порядок их выполнения, что ли, а то сперва складываем, потом множим, и удивляемся...
        Цитата Akina @
        Error 429 - это "ActiveX component can't create object.". И это неудивительно. Почитайте справку про операторы и порядок их выполнения, что ли, а то сперва складываем, потом множим, и удивляемся...


        Еще раз: я убиваю объект, делая его Nothing. Но условие Not is nothing выдает ошибку 429. С другими переменными и указателями такой бадяги нет; только с этим приложением.
          Чему эквивалентно Not oExcelApp Is Nothing?

          Вариант 1: (Not oExcelApp) Is Nothing

          Вариант 2: Not (oExcelApp Is Nothing)
            Второй. То, что мне и нужно.

            Добавлено
            Причем пока объект не убивается =Nithing - это условие отрабатывает корректно.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0307 ]   [ 17 queries used ]   [ Generated: 18.04.24, 09:42 GMT ]