I would like to transfer data from an Office 2003 worksheet
to a Flex application located on the same worksheet (ie Flash
activeX inserted). To pass these data, I use the ExternalInterface
API in the Flex framework.
All works fine if the Flex file (a SWF in fact) is not
embedded into the Excel file. When I decided to embedd the Flex
application into Excel, I met the folowing error:
SecurityError: Error #2060: Security sandbox violation:
ExternalInterface caller file:///C|/Program%20Files/Microsoft%
20Office/OFFICE11/EXCEL.EXE cannot access <unknown>.
I tried to play with activeX properties (allowScriptAccess
and AllowNetworking) without success. How can I fix this error?
In the other hand, I must call Flex method in VBA code. I
tried to use the CallFunction method of the Excel Shockwave activeX
object, but it always fails. Here is the used syntax in my VBA code
(the 'test' function exists in Flex code and is registered with the
Call ShockwaveFlash1.CallFunction("<invoke name=""test""
returntype=""xml""/> <arguments> <string>Hello
World!</string> </arguments> </invoke>")
The reported error is:
"Run-time error '-2147467259 (80004005)': Method
'CallFunction' of object IShockwaveFlash' failed"
I have tried the same call with a dotNet application and it
succeeded. How can I call a Flex function in Excel VBA code ?