Skip navigation
psiegal
Currently Being Moderated

Automating Importing a Visio OLE Object or Changing the Source of a Previously Imported OLE Object

May 20, 2013 11:25 AM

Tags: #javascript #framemaker10 #scripts #jsx

My colleagues and I import our Visio files into FrameMaker 10 via the following mechanism: File > Import > Object... > Create from File (with Link checked).  We do this because, for us, the benefits of object linking and embedding outweight the pitfalls. In order to institute and automate a graphic file naming convention, I want to be able to do one of the following using ExtendScript:

 

  • Replace each Visio OLE object with that of a renamed or new Visio file. (I've tried using the Import() method  with many different import-script settings, but have not found the correct import-script, if such a thing exists for importing Visio files  imported by reference and linked as OLE objects. My typical error when attempting this is FV_DisallowedImportType, which indicates the source file type is disallowed by my import-script settings. When I talk about my import-script settings, I'm referring to the adjustments that I make to the parameters returned from a call to GetImportDefaultParams().  I've tried numerous import-script combinations but have had no luck. )
  • Rename the Visio source file and change the source file of an already-linked Visio OLE object.  (To do this, I need to determine how to implement a script that equals the following user actions while a FM document is open: clicking on Links... under the Edit menu to bring-up the Links window; selecting each link displayed in the Links window; clicking the Change Source button for each selected link; entering the new file name in the File name field of the Change Source window; clicking Open.  Needless to say, I found nothing in the ExtendScript capabilities that indicates that this approach is doable. It may be doable using FDK F_Codes, I haven't explored that avenue and would like to avoid it.)
  • Modify the OLE2 facet such that it points to the renamed file instead of the previous name for the file.  (This does not seem like a clean approach.  As is the case now, I don't know how to properly update the facet with the new file name.  I've experimented with simply changing the file name strings from new to old, but that does not work.  There's probably some error-checking or checksum that needs to be recomputed.  Bottom line: I don't know enough about facets.)

 

Any help would be greatly appreciated.

 

Thanks, Paul

 
Replies
  • Currently Being Moderated
    May 20, 2013 11:47 AM   in reply to psiegal

    Hi Paul,

     

    I tried doing something like this years ago with FrameScript, but found out that the OLE stuff is not exposed to FrameScript or the FDK. So it is probably not exposed to ExtendScript either. When you query an OLE graphic's InsetFile property, it returns a null string, the same as a graphic Imported by Copy would. As far as I can see, importing as an OLE object is only available through the Windows FrameMaker interface.

     

    Rick

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points