![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2008
Сообщений: 7
|
На листе exsel лежит flash-мувик.
Подскажите пожадуста как им обменятся переменными? |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 257
|
excel? незнал что можно в него флэшку вставить. подозреваю что обменяться не получится.
|
|
|||||
|
listener
|
Варианты:
- ExternalInteface (круто) - fscommand (из флэша вызываем функции оболочки, наооборот нельзя) - SetVariable/GetVariable(устарело. но самое простое) Общий подход: Размещаем флэш-контрол (ActiveX) на листе. Кликаем два раза по нему. Откроется редактор VBA. В редакторе видим окно с кодом для этого контрола. В ObjectBrowser редактора находим поиском ShockWaveFalsh и смотрим список доступных свойств и методов данного объекта. В редакторе кода пишем необходимый функционал. В окне свойств контрола выбираем мувик, который будет загружен в плеер и режим его отображения. При использовании ExternalInterface в обработчик события FlashCall будет из флэша направлена xml-строка вида <invoke name="functionName" returntype="xml"><arguments><string>my_string</string><number>my_number</number></arguments></invoke> То же происходит и при использовании CallFunction (вызов функции во флэше из оболочки), только наоборот: вам придется аргументом CallFunction передать подобного же вида xml-строку. Т.е. речь идет о сериализации/десериализации запросов. На стороне флэша сериализация/десериализация происходит автоматически. При использовании обработчика FSCommand аргументами его будут имя вызываемой функции и строка с аргументами. Вернуть значение после выполнения функции во флэш нельзя. SetVariable/GetVariable проще. Но фо флэше нужно будет делать какую-то "следилку" за переменной, что бы отловить момент ее изменения и предпринять какие-то действия. Т.е. вызов этих методов просто читает/пишет переменные в мувике, при этом никак не оповещая плеер об этом. Само-собой, в редакторе кода VBA на ряду с флэш-контролом вы можете использовать стандартные переменные, свойства, методы любых других VBA-объетов, того же экселя, и не только. Т.е. листы экселя со значениями их полей и таблиц будут так же доступны и вы сможете передать их во флэш, обработать там и вернуть обратно. Последний раз редактировалось alexcon314; 26.12.2008 в 12:15. |
|
|||||
|
круто! надо запомнить
![]() |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 7
|
Спасибо за косультацыю.
ExternalInterface - для меня слишком круто будет. А с остальным у меня проблемы с синтаксисом: Код flash: fscommand("functionName","bla-bla, 45"); - тобиш functionName = моя функция в VB? bla-bla, 45 = параметры к ней? Код VB: Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String) End Sub А тут что-куда писать? ------------------------------- SetVariable/GetVariable проще. - не плохо бы примерчик что в VB что во flash именно синтаксис - а то редактор VB или ругается или не компилирует. Спасибо за участие. |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1
|
простите, что тут не в тему...я совсем не знаю Excel, но очень надо как то вытащить флеш игру из xsl документа... это возможно на самом примитивном уровне... или где то почитать про это можно??? в поисковиках я так толком не нашла ничего(((
заранее спасибо! |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:07. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|