Ed Stockley wrote:- >You may be better off sticking with AppleScript for inDesign. and Mark J. Reed wrote:- >You've got a pretty steep learning curve ahead. Good luck! Heeding the rather discouraging advice of both of you, I've resurrected my old URL Access AppleScript and embedded it in my JavaScript. I didn't think of doing that earlier, probably because I have been so focussed on learning JavaScript. My request for help with downloading a URL using JavaScript was met with stony silence on Adobe's usually wonderfully helpful InDesign Scripting Forum. I thought that this was maybe because it was not a specific InDesign issue, more what I expected to be a basic JavaScripting technique. So I came here. Once I saw you responses, I recalled the method given to me by the chap who lured me into JavaScripting, Kasyan Servetsky, on the Indesign forum, who seems to be a man of some foresight. In one of his first replies to me he included an example of compiling and running an AppleScript within JavaScript. Thus:- var myScript = 'set eurosFile to alias \"Macintosh HD:Users:chrisharbinson:Documents:EuroRate.odt\"\r'; myScript += 'set the_URL to \"http://www.ecb.int/rss/fxref-gbp.html \"\r'; myScript += 'with timeout of 300 seconds\r'; myScript += 'tell application \"URL Access Scripting\"\r'; myScript += 'download the_URL to eurosFile replacing yes\r'; ... etc. to the end of the Applescript. Then... var currentEuroRate = app.doScript(myScript, ScriptLanguage.APPLESCRIPT_LANGUAGE); I've been clambering up Mark's "steep learning curve" since November and have spent some painful head-banging sessions in which I have spent hours achieving zip... except learning how not to do things. It's addictive and I've got the rings under my eyes to prove it. Given a string to play with, the slicing and dicing power of JavaScript is exhilarating and I tend to use its built-in regular expressions in preference to messing with InDesign's grep change, great though that is. The following line delivers every text frame in an InDesign document in an array. var myFrame = app.activeDocument.textFrames.everyItem().getElements(); What's not to like about that? And the conversion takes place at "blink-and-you'll-miss-it" speed. Then just when I'm feeling like I've cracked it, I run into a roadblock like the problem that's brought me to this forum again. But that's scripting. It's good to have you folks to turn to...