func init // checks installation Adobe Indesign and adds references include("AdobeIndesign") // adds assembly references if(this.props("VersionCS").value == '5.0') sys.add_assembly('Interop.InDesign', 'Interop.InDesign.dll', 'assembly\\AdobeCS5.0\\') elseif(this.props("VersionCS").value == '5.5') sys.add_assembly('Interop.InDesign', 'Interop.InDesign.dll', 'assembly\\AdobeCS5.5\\') elseif(this.props("VersionCS").value == '6.0') sys.add_assembly('Interop.InDesign', 'Interop.InDesign.dll', 'assembly\\AdobeCS6.0\\') end end func make_doscript(data) app = d("Indesign", 20) script = d("Script", 2) language = sys.get_typed_field('id.idScriptLanguage.idUnknown', 'Language', 14, 'id.idScriptLanguage') arguments = sys.convert_array(data, 'Arguments', 'string', 'object') undo = sys.get_typed_field('id.idUndoModes.idScriptRequest', 'UndoMode', 14, 'id.idUndoModes') undoname = d("UndoName", 2, "Script") return(app + '.DoScript(' + script + ', ' + language + ', ' + arguments + ', ' + undo + ', ' + undoname + ')' ) end func doScript(data) if(linked("onResult")) if(user_level) event("onResult", this.make_doscript(data)) else blk.println('object result = ', this.make_doscript(data), ');') event("onResult", 'result') end else blk.println(this.make_doscript(data), ';') end end