Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему так? Как Войти в Excel? 
:(
    Опции темы
Antiochus
Дата 14.10.2007, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 13.10.2007

Репутация: нет
Всего: нет



С помощью VB 2005, войти в уже открытую презентацию PowerPoint (Office 2003) (и, допустим, считать ее имя):

Dim ppapp As New PowerPoint.Application
MsgBox(ppapp.ActiveWindow.Caption)

Работает. Тогда почему то же с Excel'ем:

Dim xlapp As New Excel.Application
MsgBox(xlapp.ActiveWindow.Caption)

вызывает ошибку "Object reference not set to an instance of an object"?
Это ставит меня в тупик. Как мне войти в лист Excel, который уже открыт и находится на экране? Помогите!
PM MAIL   Вверх
thomas
Дата 14.10.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 3
Всего: 65



Antiochus
Приветствую на форуме.

Для начала, позволю себе, порекомендовать вам изучить матчасть.
Надеюсь прочитав эту статью, вы получите некоторое представление об инетересующем вас обьекте.

С наилучшими пожеланиями.  smile 

Зы можно считать это ответом и на другую вашу тему.




--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
Antiochus
Дата 14.10.2007, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 13.10.2007

Репутация: нет
Всего: нет



thomas,
Документ, вами рекомендуемый, описывает вещи, многие из которых мне знакомы.

Не могли бы вы, если знаете, конкретно разъяснить, почему мой код не работает и как сделать, чтобы он работал. Это поможет мне сдвинуться с мертвой точки, устранить какое-то недопонимание. Спасибо.

PM MAIL   Вверх
BOSS1999
  Дата 12.2.2008, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 8.2.2008

Репутация: нет
Всего: нет



Dim xlapp As New Excel.Application
так это же просто создается новый экземпляр но не получаешь открытый Excel

вот как то так я думаю
var
 Excel, WorkBooks: variant;
 OrgNameOpened: boolean;
 i: integer;
begin
 OrgNameOpened := false;
 try
   // Получаем открытый Excel
   Excel := GetActiveOleObject('Excel.Application');
   // Проверяем все открытые рабочие книги, и если в названии одной из них
   // есть 'OrgName', то искомая книга открыта
   WorkBooks := Excel.WorkBooks;
   for i := 1 to WorkBooks.Count do
    if Pos('OrgName', WorkBooks.Item[i].Name) > 0 then
     begin
      OrgNameOpened := true;
      Break;
     end;

  except

  end;
 Excel := Unassigned;
 WorkBooks := Unassigned;

 // Если книга не открыта, то открываем ее
 if not OrgNameOpened then
  begin
   CreateOleObject...
  end;
end;


Это сообщение отредактировал(а) BOSS1999 - 12.2.2008, 12:43
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1016 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.