Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How do I embed an Adobe Flash (.swf) file in Microsoft Excel or Word?

share|improve this question

migrated from stackoverflow.com Nov 2 '10 at 11:34

This question came from our site for professional and enthusiast programmers.

3  
Just the thought of what you are trying to do makes me cry. –  Geoffrey Chetwood Sep 15 '08 at 21:54
    
HI Rich, I asked this as I have seen people fooling email filters which removes swf files by embedding them in excel/work. I was just curious to know how they do that? Any 3rd party tools used? –  blntechie Sep 15 '08 at 22:03
    
+1 for the shedded tears –  Boris Callens Jun 19 '09 at 11:32

3 Answers 3

Using Office XP, Excel or Word

From the 'View' menu select 'Toolbars' and tick the 'Control Toolbox'

On the 'Control Toolbox' toolbar click on the 'More controls' icon

A list of controls will be displayed. Scroll down until you find the 'Shockwave Flash Object' and then click on it.


Excel

This should change your cursor to a crosshair. Move to the area on the worksheet where you want to inset the 'Shockwave Flash Object'.
Left click, hold and drag to create a box of the required size.

Word

Word will automatically insert the control where the cursor is.
It's size can be set by dragging the edges or via it's 'Properties'


Next right click on the control you have just inserted and select 'Properties'.

Set the following properties

  • Autoload = True
  • EmbedMovie = True
  • Enabled = True
  • Loop = True
  • Playing = True
  • Visible = True
  • Movie = c:\flash.swf (Change this to the location of your .swf file)

Close the 'Properties' control

Save the file.

Close the file.

Reopen the file.

The .swf file should start playing automatically.

share|improve this answer
    
Works with every OLE object. –  VVS Jun 19 '09 at 11:31

In Office 2007 (in previous versions I guess it's pretty much the same):

"Insert" tab > Object > Flash Document

share|improve this answer

I noticed, when I tried it, that the swf object displays well enough for me - save, re-open, display.

The swf file in my docx was on my C:\, I right-clicked the swf object > properties > "Movie" : "Full_File_Path.swf". As above, I found that 'EmbedMovie' and 'Enabled' options weren't available in my version of Word 2007 (standard issue, legit version), though 'Embed' is, I toggled it to 'true'.

Therefore, when I sent the docx file around the office - nothing showed up! (shaaaame)

So, following on from this question, is there a way to actually embed the file for those who don't have access to my C:\?

I tried dropping the .swf file on our shared work network, and that dutifully showed up and wowed people - but what if the network's down, or someone is out of the office...

Just curious I suppose, but it's a neat trick so far!

[EDIT] Not sure if this is sane or not, but when I went to re-try the above, I now see that 'EmbedMovie' IS available, but 'Embed' is not, 'Enabled' is still unavailable.

[2nd EDIT] Ok, after a bit more testing, I found that switching back to DOC to embed the swf did so correctly. As a side-effect, the swf stuck on 'first frame' (mostly scripted swf though, so 'first frame' might be inaccurate). I had a few other people try to open my iterative tests:

User 1: 'DOC embedded swf' - displays an 'image', or possibly the swf stuck on frame 1, if swf not available from the file path used during creation.

User 2: 'DOC embedded swf' - displays and runs all scripts if swf available from file path used during creation (in our case a shared drive, a URL like youtube video would cut the mustard, too).

User 3: 'DOCX embedded swf' - displays blank box if swf not available from the file path used during creation (like a shared drive versus C:)

User 4: 'DOCX embedded swf' - displays and runs all scripts if swf available from file path used during creation.

Hope this helps someone/anyone!

share|improve this answer

protected by Diago Nov 5 '10 at 7:32

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.