Перейти к содержимому

Фотография

TC 7 и Excel


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 navigatort

navigatort

    Активный участник

  • Members
  • PipPip
  • 86 сообщений
  • ФИО:navigatort

Отправлено 17 ноября 2010 - 10:27

Здравствуйте.
Подскажите, пожалуйста, почему TC7 не видит ячейки Excel(.Cells(i,j))? С TC-3 таких проблем не было, без проблем использовал .Cells(i,j).Value
  • 0

#2 VitalyD

VitalyD

    Опытный участник

  • Members
  • PipPipPipPip
  • 285 сообщений
  • Город:Санкт-Петербург

Отправлено 17 ноября 2010 - 10:39

Привелите плз пример кода.



  • 0

#3 navigatort

navigatort

    Активный участник

  • Members
  • PipPip
  • 86 сообщений
  • ФИО:navigatort

Отправлено 17 ноября 2010 - 14:26

Привелите плз пример кода.

Set wndXLMAIN = Aliases.EXCEL.wndXLMAIN
  Set control = wndXLMAIN.WaitAliasChild("wnd_1",-1)
  if control.Exists Then
     Set client =control.NativeObject
  
   msgbox(client.RangeSelection.Row) 
   msgbox(client.RangeSelection.Column)  
   msgbox(client.RangeSelection.Text)
  end if    
 
Где-то так. То есть с активной ячейкой проблем нет. А вот как бы по номеру строка\столбец значение вытащить, да так чтобы по навигационным клавишам не кликать.
  • 0

#4 Zenturio

Zenturio

    Опытный участник

  • Members
  • PipPipPipPip
  • 386 сообщений
  • ФИО:Дмитрий
  • Город:Смоленск - Москва


Отправлено 19 ноября 2010 - 08:38


Привелите плз пример кода.

Set wndXLMAIN = Aliases.EXCEL.wndXLMAIN
  Set control = wndXLMAIN.WaitAliasChild("wnd_1",-1)
  if control.Exists Then
     Set client =control.NativeObject
  
   msgbox(client.RangeSelection.Row) 
   msgbox(client.RangeSelection.Column)  
   msgbox(client.RangeSelection.Text)
  end if    
 
Где-то так. То есть с активной ячейкой проблем нет. А вот как бы по номеру строка\столбец значение вытащить, да так чтобы по навигационным клавишам не кликать.


Да возьмите обыкновенный VBSript - там есть возможность доступа к документу через createObject. А потом из объекта можно все что угодно вытащить
  • 0

#5 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 19 ноября 2010 - 10:38

Проверьте список MSAA классов в настройках проекта в ТС3 и TC7. У меня для листа в Excel 2007 появляется NativeObject, если в список добавить EXCEL*:
Sys.Process("EXCEL").Window("XLMAIN", "Microsoft Excel - Test.xlsx", 1).Window("XLDESK", "", 1).Panel("Test.xlsx").NativeObject

Да возьмите обыкновенный VBSript - там есть возможность доступа к документу через createObject. А потом из объекта можно все что угодно вытащить

Судя по всему, MSAA + NativeObject в Excel - это как раз и есть аналог Sys.OleObject("Excel.Application"). 
  • 0

#6 navigatort

navigatort

    Активный участник

  • Members
  • PipPip
  • 86 сообщений
  • ФИО:navigatort

Отправлено 25 ноября 2010 - 11:20

Проверьте список MSAA классов в настройках проекта в ТС3 и TC7. У меня для листа в Excel 2007 появляется NativeObject, если в список добавить EXCEL*:

Sys.Process("EXCEL").Window("XLMAIN", "Microsoft Excel - Test.xlsx", 1).Window("XLDESK", "", 1).Panel("Test.xlsx").NativeObject

Да возьмите обыкновенный VBSript - там есть возможность доступа к документу через createObject. А потом из объекта можно все что угодно вытащить

Судя по всему, MSAA + NativeObject в Excel - это как раз и есть аналог Sys.OleObject("Excel.Application"). 

Спасибо.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных