Looking at my code what I have is
set boxtagpath to alias "Macintosh HD:Filename"
tell application "QuarkXpress"
activate
set import styles to true
set convert quotes to false
tell document 1
try
set thisBox to (object reference of first text box whose name is
boxname)
on error
display dialog ("Box "&boxname&" doesn't exist)
end try
set story 1 of thisBox to BoxTagPath
end
end
I just did a test for multiple boxes with the following code.
Tell document 1 of application "QuarkXpress"
set boxlist to every text box of document 1 whose name is "Foo"
repeat with abox in boxlist
set story 1 of abox to "This is a test"
end repeat
end tell
As for redoing everything in InDesign, its a major pain. There are
some things that you just can't do or can't do easily. I am so close
to writing my own page layout system for scripting.
On Jan 25, 2007, at 11:24 PM, Lloyd Butler wrote:
> Been burned by that one more than once, so yup, the names are correct.
>
> I can put the two text boxes on a page, and put text into one, and
> then select the other and bring it to the front and have the script
> to put text into that box. It just will not put text into both at
> the same time like the older versions.
>
> If it wasn't so much work to redo everything in InDesign, I may
> have thought about changing.
>
> Lloyd
>
>>
>> From: Mark Lively <[log in to unmask]>
>> Date: January 21, 2007 6:55:39 PM EST
>> Subject: Re: Quark 6.5 scripting oddity
>>
>>
>> Are you sure the name matches are exact. Quark is case sensitive.
>>
>>
>> On Jan 21, 2007, at 6:42 PM, Lloyd Butler wrote:
>>
>>> Mark,
>>>
>>> Thanks
>>>
>>> I tried that one, and got
>>>
>>> QuarkXPress got an error: Can't set paragraph 1 of every text box
>>> of document 1 whose name = "sample.txt" to "hello"
>>>
>>> It seems there is some sort of conversion error as it has an '='
>>> after name instead of 'is'. It gives you the same error if you
>>> put in the wrong text box name, so I suspect the 'whose' is broken.
>>>
>>> Then I tried "contains" instead of 'is" and it still tosses an
>>> error, but it knows I had asked for 'contains'
>>>
>>> Then I tried 'begins with" and it tosses an error with "starts
>>> with".
>>>
>>> I guess I will just need to change the names of the text boxes so
>>> that there are no duplicates.
>>>
>>> Lloyd
>>>
>>>> From: Mark Lively <[log in to unmask]>
>>>>
>>>> On Jan 17, 2007, at 7:50 AM, Lloyd Butler wrote:
>>>>
>>>>> ok, it is not so shocking knowing the application.
>>>>>
>>>>> I am in the process of moving to Quark 6.5 ( I know it is a
>>>>> couple of versions old) from v3 and v4. It runs on the Intel
>>>>> machines where v3 or v4 do not.
>>>>>
>>>>> While testing my scripts, I noticed that in versions 3 and 4 if
>>>>> two text boxes on the page had the same name, both would be
>>>>> filled in.
>>>>>
>>>>> In 6.5, it is only the top most text box that gets populated.
>>>>>
>>>>> If I take and manually select the other box and bring it to the
>>>>> top, and rerun the script, that text box gets the text.
>>>>>
>>>>> Is there a way to get both filled in without changing one of
>>>>> the names?
>>>>>
>>>>> tell application "QuarkXpress"
>>>>> tell document "test.qxd"
>>>>> set paragraph 1 of text box "sample.txt" to "hello world"
>>>>>
>>>> Set paragraph 1 of every text box whose name is "sample.txt" to
>>>> "hello world"
>>>>
>>>>> end tell
>>>>> end tell
>>>>>
>>>>> I have all the code in a script library that allows me to pass
>>>>> in the layout name, paragraph, text box name and the text. If I
>>>>> need to start to jump through hoops to handle this, then I need
>>>>> to know what to test for to catch the 2+ text boxes with the
>>>>> same names.
>>>>
>>>> I am surprised that 3 and 4 didn't error on you.
>>>>
>>>
>>>
>>>
>
|