Как я могу сцепиться до событий Excel в JavaScript

Без кода ... мое лучшее предположение было бы, что у вас нет int main() в начале вашей программы ИЛИ main() назван не как main.

7
задан Matthew Murdoch 2 October 2009 в 13:49
поделиться

3 ответа

Я думаю, что также Ваш второй подход с помощью управления Windows From, размещенного в IE, не будет работать.

IE ведет себя отличающийся как хост сценариев. Существуют определенные ограничения, как сообщение в блоге Eric Lippert упоминает:

Реализация обработки событий, части второй

0
ответ дан 8 December 2019 в 01:47
поделиться

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

Одна идея состоит в том, что я создаю обертку пользовательский элемент управления Windows Form, который был бы размещен в <object> тег в веб-приложении. Пользовательский элемент управления назвал бы Excel и получил бы события и события повышения назад к JavaScript, который я мог сцепить до использования <script for="..." event="..."> механизм. Не уверенный, что это будет работать, но я попробую его.

Даже если это работает, я не особенно доволен этим решением. Существует слишком много слоев - JavaScript называют от управления Silverlight, означающего, что мои данные должны пересечь 3 границы туда и обратно: Silverlight-> JavaScript-> Размещенный Пользовательский элемент управления Winform-> Excel.

Было бы хорошо устранить некоторые из этих границ.

1
ответ дан 8 December 2019 в 01:47
поделиться

Я не полагаю, что это возможно. Причем причина при вызове следующего кода:

var excel = new ActiveXObject("Excel.Application");

Вы на самом деле открываете Excel. Таким образом со следующей строкой:

workbook.BeforeClose = BeforeCloseEventHandler;

Как Вы говорите приложению Excel запускать JavaScript, который не возможен. Я попытался исследовать альтернативы, как создание объекта-события, определив код позади него, затем присвоив его рабочей книге. BeforeClose, но я столкнулся бы с той же проблемой: события Excel не могут быть обнаружены JavaScript. Главным образом, потому что это работает как отдельный процесс.

Таким образом, вот еще некоторые альтернативы, можно рассмотреть:

  1. Сохраните данные Excel на компьютере пользователя, затем когда пользователь теряет Excel, сделайте, чтобы они нажали где-нибудь, который называет Ваш 1-й метод, который читает тот файл и отображает его.
  2. Считайте данные из файла Excel и затем отобразите его.
  3. Не закрывайте свой объект Excel (это, вероятно, оставит Excel открытым как процесс на Вашем компьютере), и имейте событие таймера в JavaScript. Каждые 5 секунд проверьте, открыт ли Excel все еще, и если это не открыто, считайте файл и отобразите его.

Извините я не мог больше быть справкой, и я не слишком уверен, работала ли какая-либо из тех альтернатив, но удачи!

-1
ответ дан 8 December 2019 в 01:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: