Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.01.2009, 18:32
Интересующийся
Отправить личное сообщение для remitmaster Посмотреть профиль Найти все сообщения от remitmaster
 
Регистрация: 29.04.2008
Сообщений: 17

COM объекты
Добрый вечер, скажите пожалуйста, может ли JavaScript работать с COM объектами? Информации нашел очень мало, но есть один пример который пытается манипулировать с оутлуком http://www.codeproject.com/KB/office/OutlookDemo.aspx, у меня не получилось его запустить, если это возможно и кто-то сталкивался с такой задачей поделитесь пожалуйста информацией, буду очень благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 06.01.2009, 18:48
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Можно работать с ActiveX объектами, но только из браузера IE и только если пользователь разрешит в настройках. Либо из HTA или клиенстких JScript через WSH. Если разговор идет об обычной интернет-странице, то ответ скорее "нельзя".
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2009, 18:52
Интересующийся
Отправить личное сообщение для remitmaster Посмотреть профиль Найти все сообщения от remitmaster
 
Регистрация: 29.04.2008
Сообщений: 17

А что значит

Цитата:
или клиенстких JScript через WSH

Вот что удалось нати, но это очень старая информация


Цитата:
ActiveXObject NN n/a IE 4.0 ECMA n/a

Объект ActiveXObject используется для запуска объектов ActiveX. После создания объекта ActiveX (т. е. после запуска соответствующей программы) мы можем обращаться к его методам и свойствам, используя стандартный синтаксис языка JavaScript. Встроенных свойств и методов этот объект не имеет.

Пример: если на компьютере-клиенте установлен Microsoft Word 7.0, то следующий сценарий его запустит, откроет документ Mydoc.doc, сохранит этот документ в текстовом формате и завершит работу MS Word.

var word = new ActiveXObject("Word.Application"); // запускает MS Word
word.Documents.Open("Mydoc.doc"); // открывает документ
word.ActiveDocument.SaveAs("Mydoc.txt", 4); // 4 = текстовый формат DOS
word.Quit(); // завершает работу MS Word

Следует помнить, что после запуска объекта ActiveX он остается активным до закрытия окна обозревателя, из которого он был вызван. JScript не содержит стандартного средства для завершения работы этого объекта. Если мы хотим, чтобы объект прекратил работу ранее завершения работы нашего сценария, то должны вызвать соответствующий метод данного объекта (в приведенном примере это метод Quit).

Любопытно, что операция typeof возвращает для свойств и методов объектов ActiveX нестандартное значение "unknown" (видимо из-за того, что все объекты ActiveX являются наследниками COM-интерфейса IUnknown).
Ответить с цитированием
  #4 (permalink)  
Старый 06.01.2009, 19:01
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

remitmaster,
Клиентских JScript это значит, что запускается файл с расширением *.js двойным кликом (или из командной строки через интерпретатор cscript.exe). Тогда сценарий будет выполнен в рамках WSH и иметь определенные разрешения на использование ActiveX объектов.

Вот хороший сайт со статьями по windows-скриптам: http://script-coding.info/. На нашем сайте информация больше по браузерным скриптам, которые не могут работать с ActiveX в большинстве случаев.

Последний раз редактировалось Андрей Параничев, 06.01.2009 в 19:10.
Ответить с цитированием
  #5 (permalink)  
Старый 06.01.2009, 19:12
Интересующийся
Отправить личное сообщение для remitmaster Посмотреть профиль Найти все сообщения от remitmaster
 
Регистрация: 29.04.2008
Сообщений: 17

Спасибо большое!

Последний раз редактировалось remitmaster, 06.01.2009 в 21:57.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт, который должен листать объекты не работает. Mike Abasov jQuery 4 12.08.2008 10:16
Массивы, ссылки, объекты... Гость Общие вопросы Javascript 1 11.10.2007 16:37