Burn a named CD using applescript
I am having trouble invoking a CD Finder burn command in applescript.
What I want to do is have the applescript get selected text, name the CD based on the selected text, burn it, verify it and finally eject it.
How would I create a script like this? Also, I'm only burning one folder to each disc I make. So the specified name would be of the selected folder. Thanks
Hi,
You shouldn't need to use Disk Utility to burn a plain data CD/DVD.
Have a read of this article on how to do it:
http://docs.info.apple.com/article.html?path=Mac/10.4/en/mh854.html
Hope that helps.
Similar Messages
-
Using AppleScript to Launch Excel VBA Macro
Using MS Office 2004 and AppleScript 1.9.3. I want to use AppleScript in MS Entourage to kick off a VBA macro in Excel. But no luck.
To test things, I created an Excel file ("test.xls") with a one-line VBA macro named "test." It just puts up a dialog box with the message "success." I'm calling it from A.S as follows (per the AppleScript Dictionary for Excel 2004):
tell application "Microsoft Excel"
run VB macro "hard disk:users:xxx:desktop:test.xls!test"
end tell
I get two successive error messages:
1. 'test.xls' cannot be accessed. The file may be read-only or you may be trying to access a read-only location."
2. "Microsoft Excel got an error: "hard disk:users:xxx:desktop:test.xls!test" doesn't understand the run VB macro message."
"test" file permissions are -rw-r--r-- and it is sitting right on the desktop.
FWIW, I did not remove the old Office vX yet, but renamed old Excel "Microsoft ExcelOld". I read on some other site that this may cause problems.
This has been endlessly frustrating. HELP!!??
SteveHi Steve,
Have you tried dealing with the return value from your macro? If you are invoking the MsgBox function in your test macro, you may need to allow the return value from MsgBox to pass thru back to AS. Something like :
set MyRetCode to run VB macro "Macintosh HD:Users:xxx:Desktop:test.xls!test"
(Note unless you've changed the hard drive name to "hard drive", the default boot drive name will probably be "Macintosh HD". Case does matter here)
I also suspect you'll need to have Entourage up as well in the full case of running a macro in Entourage from Excel (or the other way around). Hence, the command ActivateMicrosoftApp in the Excel dictionary may also be useful.
Second, you can have a macro, in a startup template, in Entourage call a macro in a startup template in Excel to accomplish what you want without going into AppleScript at all. This latter, VB-only, method will require a "Reference", as it's called in VBA, to be added to the TemplateProject in Entourage that points to the Excel macro you want to fire off. The added benefit of this latter method is that you will have access to the full range of VBA commands/options, rather than the smaller dictionary available in AS.
Ed
PB G4 Mac OS X (10.2.x) -
Cannot connect to a named instance using SSMS from a remote machine
Hi all,
SQL Server.....: 2012 EE
OS...................: Windows Server 2008 R2
I have a desktop machine, that i am using to administrer SQL Server (via SSMS) and to develop my SSIS solutions, but i can't connect to a named instance of my SQL Server. When i try to connect using SSMS to my named instance (myhost\DWSERVER)
i get a huge error message:
A network-related or instance-specific error occurred while establisinh a connection to SQL Server. The server was not found or was not accessible. Verify that the instance is correct and that SQL Server is configured to allow remote connections.
(provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.) (Microsoft SQL Server, Error: 10060)
Locally, i am able to access that named instance using SSMS, just when i try to access from another machine, the above error pops-up to me.
I am using the SQL Server Authentication mode to connect to the named instance.
What am i doing wrong?
Thanks in advance.
Fabrício Pedroso Jorge Database Administrator - Belém, Pará, BrazilHi,
thanks for your attention.
That's correct, i can connect to my default instance both locally and remotelly. The default instance in on port 1433. I cannot find the port used by the named instance (DWSERVER).
Actually, i found this on the errorlog from the named instance:
2015-03-22 10:10:45.80 spid13s Server is listening on [ 'any' <ipv6> 49411].
2015-03-22 10:10:45.80 spid20s Server is listening on [ 'any' <ipv6> 5023].
2015-03-22 10:10:45.81 spid20s Server is listening on [ 'any' <ipv4> 5023].
2015-03-22 10:10:45.81 spid20s The Database Mirroring endpoint is now listening for connections.
2015-03-22 10:10:46.12 spid13s Server is listening on [ 'any' <ipv4> 49411].
2015-03-22 10:10:46.25 spid13s Server local connection provider is ready to accept connection on [ \\.\pipe\SQLLocal\DWSERVER ].
2015-03-22 10:10:46.26 spid13s Server local connection provider is ready to accept connection on [ \\.\pipe\MSSQL$DWSERVER\sql\query ].
2015-03-22 10:10:46.26 Server Server is listening on [ ::1 <ipv6> 49412].
2015-03-22 10:10:46.26 Server Server is listening on [ 127.0.0.1 <ipv4> 49412].
I can ping normally to the remote server.
Fabrício Pedroso Jorge Database Administrator - Belém, Pará, Brazil -
Using Applescript for uploading pictures on the Internet
Hello!
I was wondering if there was a way to use Applescript with Firefox (or another browser)...?
We have many many villas on our website, each one with lots of pictures. We are constantly adding new villas to our site and amending old ones.
To add pictures we go to a page in our cms for each villa, located there is a drop down menu - image 1, image 2, 3 etc etc etc
For each one we have to manually browse for and attach the photo. As you can guess this is a time consuming process, we have asked the web designer before for this but he is so busy and we have other more important stuff for him to be working on.
As Applescript is so nifty I was wondering if anybody had an idea on how to use it for this process - i.e. have a folder full of pictures on the desktop and Applescript can add them?
I have no idea if this is possible, any ideas?
Many thanks and regards.
SimonYeah I completely understand, I just wanted to see if anybody knew if it could be done.
Obviously for security reasons I can't let anybody into our CMS, so looks like it's a bit of an impossible task.
Although it would be awesome to simply change the script slightly for each villa and let it do it all, this would be stupidly complicated as there are many menus to navigate to get to the uploading picture area.
It would be great if I could do all that manually then once on that page (or given the page url to Applescript) set Applescript running to upload all the images for me.
This is what that page looks like, if this helps?!:
http://img535.imageshack.us/img535/241/screenshot20100415at141.png
The drop down menu contains:
Villa Plan
Small Location Map
Image Gallery 1
Image Gallery 2
etc
etc
I could arrange a folder with the pictures in order (i.e. Villa Plan first, then Small location Map, then the picture for 1 etc) so no worries about the Villa Plan and location map.
I've got a feeling I'm just going to have to do it manually (I shall forever be uploading pictures), but I thought I would give it to some of you geniuses to mull over!
For whoever creates a script I'll give you a discounted stay in Paradise... there's an incentive!!
Many thanks and regards,
Simon -
New to applescript. need to create a plist file using applescript
Needed some help I need on creatinga plist file below using applescript and I can't make it happen needed some hand on this.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Username</key>
<string>${localAdminUser}</string>
<key>Password</key>
<string>${localAdminPassword}</string>
<key>AdditionalUsers</key>
<array>
<dict>
<key>Username</key>
<string>${userName}</string>
<key>Password</key>
<string>${userPassword}</string>
</dict>
</array>
</dict>
</plist>
I have tis code but it doesn't seems to work.
tell application "System Events"
-- create an empty property list dictionary item
set the parent_dictionary to make new property list item with properties {kind:record}
-- create new property list file using the empty dictionary list item as contents
set the plistfile_path to "~/Desktop/example.plist"
set this_plistfile to ¬
make new property list file with properties {contents:parent_dictionary, name:plistfile_path}
-- add new property list items of each of the supported types
make new property list item at end of property list items of contents of this_plistfile ¬
with properties {kind:string, name:"Username", value:"${localAdminUser}"}
make new property list item at end of property list items of contents of this_plistfile ¬
with properties {kind:string, name:"Password", value:"${localAdminPassword}"}
make new property list item at end of property list items of contents of this_plistfile ¬
with properties {kind:list, name:"AdditionalUsers"}
make new property list item at end of property list items of contents of this_plistfile ¬
with properties {kind:string, name:"Username", value:"${localAdminUser}"}
make new property list item at end of property list items of contents of this_plistfile ¬
with properties {kind:string, name:"Password", value:"${localAdminPassword}"}
end tell
The result of the above code will generate a plist file below
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AdditionalUsers</key>
<array/>
<key>Password</key>
<string>${localAdminPassword}</string>
<key>Username</key>
<string>${localAdminUser}</string>
</dict>
</plist>Hello
You need to create elements at correct container. Like this.
set plist_file to (path to desktop)'s POSIX path & "example.plist"
--set plist_file to "~/desktop/example.plist"
tell application "System Events"
tell (make new property list file with properties {name:plist_file})
make new property list item at end with properties {kind:string, name:"Username", value:"${localAdminUser}"}
make new property list item at end with properties {kind:string, name:"Password", value:"${localAdminPassword}"}
tell (make new property list item at end with properties {kind:list, name:"AdditionalUsers"})
tell (make new property list item at end with properties {kind:record})
make new property list item at end with properties {kind:string, name:"Username", value:"${localAdminUser}"}
make new property list item at end with properties {kind:string, name:"Password", value:"${localAdminPassword}"}
end tell
end tell
end tell
end tell
Or you may create a record in AppleScript and set the value of plist file at once. Like this.
set plist_file to (path to desktop)'s POSIX path & "example.plist"
--set plist_file to "~/desktop/example.plist"
set dict to ¬
{|Username|:"${localAdminUser}", |Password|:"${localAdminPassword}"} & ¬
{|AdditionalUsers|:{¬
{|Username|:"${localAdminUser}", |Password|:"${localAdminPassword}"} ¬
--set dict to {|Username|:"${localAdminUser}", |Password|:"${localAdminPassword}", |AdditionalUsers|:{{|Username|:"${localAdminUser}", |Password|:"${localAdminPassword}"}}}
tell application "System Events"
tell (make new property list file with properties {name:plist_file})
set value to dict
end tell
end tell
Regards,
H
Message was edited by: Hiroto (PS. Fixed second script so that it uses the original case (uppercase) in key string) -
How can I change the font size of an outgoing instant message using Applescript?
Text copied into Messages.app from a web page is often too small to read. Is there a quick way to boost the font size using Applescript?
HI,
I have spent some time looking at the Mix Message Case.scpt in Hard Drive/Library/Scripts/Messages and also Crazy Message Text.scpt in the same Scripts Folder but then the Mail one.
Both are Apple versions.
The Mix Case one is set in Messages > Preferences > Alerts
Set the top drop down to Sent Message
Enable the Applescript items and chose the Mix Case item.
It will look something like this in the current Font and size you have set.
ThEn aGaIn
Obviously you don't want all the bit to make the font change between upper an lower case but it does have the option to use it with the Sent Message and it also uses the entry in the text field as a String.
The Mail Crazy Message one opens a dialogue box when run.
it has a default phase and some Upper and lower limits to the size that will be used.
the Dialogue allows you to change the phrase and also "Set Prefs" to altert the font sizes.
The result is a text palce in a new Mail items and the font and size changes to look like this:-
Picture
It will look different everytime and the Font for each character and the size of each is randomised.
Although I have tried sticking in a line to change the size to anything other then my set font in the Mixed Case one I can't get it to work.
In some cases I get an Script error in Messages (It seems to think I am setting a Font called "10")
At other times it just says it can't set it buit still does the Mixed Case bit.
My hope was to change the size and then reduce the requirement for the "intercaps" routine.
I have other emails about new posts so I will anwser them and then spend some more time on this.
9:01 PM Thursday; June 13, 2013
iMac 2.5Ghz 5i 2011 (Mountain Lion 10.8.4)
G4/1GhzDual MDD (Leopard 10.5.8)
MacBookPro 2Gb (Snow Leopard 10.6.8)
Mac OS X (10.6.8),
Couple of iPhones and an iPad
"Limit the Logs to the Bits above Binary Images." No, Seriously -
Adding all day events using applescript to ical
Hey all. I am new to using applescript. Thanks to some top users i have been able to get excel events file transfered into ical.
I need help with the applescript for changing these events from time duration to all day.
tried
set the start time to 00:00 and end time to 24:00 and
set all-day to true
any help would be greatly appreciated!!
thanks.I have the exact same problem. I have entered birthdays for people I know starting with the year of their birth and never ending, an all-day event. They now don't show in 2007, but there is a detached event on January 1, 2000. When I delete that event and all subsequent versions of it, the initial event now ends in 2006 or 2007, and I have to set the repeat to end Never again. I fixed all the ones from February that showed up. Now I notice that a huge amount of the other birthdays (all day events) that I have entered are doing it now, and we are talking well over 40 of them. I don't understand why it keeps creating these detached events. I also publish my calendars, if that makes any difference.
-
ICal and subscribed calendars with MobileMe using AppleScript
I am having the same problem as many of you; I have a MobileMe account which does not sync the calendars I have in iCal that are subscriptions. I found this great script online which I'll post below. I don't know anything about AppleScript so I'm just copy-pasting. I want it to work, but I'm getting the error "The variable theOldEvent is not defined." right around the line "if similar_found is true then set theOldSummary to the summary of theOldEvent" kinda near the middle. Like I said, I don't know anything about AppleScript. So my question is; how can I fix this error and/or is there some better way of using AppleScript/Automator to do this same thing? Thanks!
Script to duplicate Calendar orgCalendar into target dupCalendar
E.H. 12.9.2008
property myCopies : 0
property myUpdates : 0
property myObsoletes : 0
property orgCalendar : "Sekretariat"
property dupCalendar : "Sekretariat copy"
property dupEvents : {}
property myDeletes : {}
set myCopies to 0
set myUpdates to 0
set myObsoletes to 0
set dupEvents to {}
tell application "iCal"
-- set theCalendars to every calendar
set theCalendarNames to title of every calendar
set theOrgCalendar to a reference to calendar orgCalendar
if theCalendarNames contains dupCalendar then
set theCalendar to a reference to calendar dupCalendar
else
set theCalendar to make new calendar with properties {title:dupCalendar}
--set theCalendar to make new calendar with properties {title:dupCalendar, color:"{65535, 0, 0}"}
end if
set the eventList to uid of every event of theOrgCalendar as list
set the eventCount to the count of the eventList
repeat with theUId in eventList
tell theOrgCalendar
set theEvent to (the first event whose uid is theUId)
-- set theProperties to the properties of theEvent as record
set theDate to the start date of theEvent
set theSummary to the summary of theEvent
set theStampDate to the stamp date of theEvent
end tell
tell theCalendar
try
set theOldEvent to (the first event of theCalendar whose (start date) is theDate as date)
set similar_found to true
on error
set similar_found to false
set theEndDate to the end date of theEvent
set theAllDay to the allday event of theEvent
set theLocation to the location of theEvent
-- Funny construction to work araund the fact that location may be missing a value
try
if theLocation is equal to "" then
end if
on error
set theLocation to ""
end try
set theDescription to the description of theEvent
try
if theDescription is equal to "" then
end if
on error
set theDescription to ""
end try
if theAllDay is true then -- work around a funny bug with all day events
set theDate to (theDate as date) + 2 * hours
set theEndDate to (theEndDate as date) + 2 * hours
end if
set newEvent to make new event at end with properties {summary:theSummary, location:theLocation, start date:theDate, end date:theEndDate, allday event:theAllDay, description:theDescription}
-- make new event at end with properties theProperties
set the end of dupEvents to (the uid of newEvent)
set myCopies to (myCopies + 1)
end try
end tell
set second_necessary to false
if similar_found is true then
set theOldSummary to the summary of theOldEvent
if theSummary is not equal to theOldSummary then
--is there a different one?
try
set theOldEvent1 to (the second event of theCalendar whose (start date) is theDate as date)
set theOldSummary to the summary of theOldEvent1
if theSummary is equal to theOldSummary then
set theOldEvent to theOldEvent1
set the end of dupEvents to (the uid of theOldEvent)
else
-- cycle repeat ?
end if
on error
-- beep
try
set theEvent1 to (the second event of theOrgCalendar whose (start date) is theDate as date)
set second_necessary to true
on error
set the end of dupEvents to (the uid of theOldEvent)
end try
end try
else
set the end of dupEvents to (the uid of theOldEvent)
end if
if second_necessary is true then
set theEndDate to the end date of theEvent
tell theCalendar
set theOldEvent to make new event at end with properties {summary:theSummary, start date:theDate, end date:theEndDate}
end tell
set the end of dupEvents to (the uid of theOldEvent)
end if
set theOldStampDate to the stamp date of theOldEvent
if theStampDate is greater than theOldStampDate then
-- update the event
set summary of theOldEvent to theSummary -- capitalization may have changed
set theAllDay to the allday event of theEvent
set allday event of theOldEvent to theAllDay
set theEndDate to the end date of theEvent
if theAllDay is true then -- work around a funny bug with all day events
set theEndDate to (theEndDate as date) + 2 * hours
end if
set end date of theOldEvent to theEndDate
set theDescription to the description of theEvent
try
if theDescription is equal to "" then
end if
on error
set theDescription to ""
end try
set description of theOldEvent to theDescription
set myUpdates to myUpdates + 1
end if
end if
end repeat
end tell
-- Delete obsolete events
set myObsoletes to 0
set myDeletes to {}
tell application "iCal"
set myUIDs to uid of events of theCalendar
end tell
repeat with myUID in myUIDs
if dupEvents does not contain myUID then
set the end of myDeletes to myUID
set myObsoletes to (myObsoletes + 1)
end if
end repeat
tell application "iCal"
repeat with myDel in myDeletes
delete (every event of theCalendar whose uid is myDel)
end repeat
end tell
-- delete duplicates
set myDeletes to {}
tell application "iCal"
set myStarts to start date of events of theCalendar
set mySummaries to summary of events of theCalendar
set myUIDs to uid of events of theCalendar
set myLength to length of myUIDs
end tell
repeat with i from 1 to (myLength - 1)
set thisStart to (item i of myStarts)
set thisSumm to (item i of mySummaries)
repeat with j from (i + 1) to myLength
set thatStart to (item j of myStarts)
set thatSumm to (item j of mySummaries)
if thisSumm is equal to thatSumm and thisStart is equal to thatStart then
set the end of myDeletes to (item j of myUIDs)
exit repeat
end if
end repeat
end repeat
set n to count of myDeletes
tell application "iCal"
repeat with myDel in myDeletes
delete (every event of theCalendar whose uid is myDel)
end repeat
-- set the visible of calendar theCalendar to false
end tell
display dialog (myCopies & " records duplicated, " & myUpdates & " records updated and " & myObsoletes & " obsolete ones deleted") as textNo longer an issue.
-
Error while creating folder named "bin" using explorer view in sharepoint 2010
I am getting error when I create a folder in a library named "bin" using explorer view in sharepoint 2010.
When I create folders with other names I don't get any errors.
Please suggest.Hi,
According to your description, my understanding is that you got an
error when you create a folder named “bin” in a SharePoint library with explorer view.
There are any Microsoft.NET Framework assemblies that have controls or parts that the SharePoint site uses, which are stored in the bin folder. You can remove “bin” from hidden segments, then you can create a folder named “bin”
in the SharePoint library with explorer view.
1.Opened IIS Manager and selected Server name -> Request Filtering -> Hidden Segments tab -> Removed "bin" from there:
2.Perform IISRESET:
Thanks,
Dean Wang -
i dont have idvd, i dont even have a mac so this may be a really stupid question, but is it possible to convert an avi file and then burn it to dvd using idvd?
for example if a had a film in avi could i put it on a dvd to watch on a dvd player?It is possible to put an .avi video on DVD, but it has to be converted into DVD format (which is mpeg-2). Another wrinkle is that .avi is a so-called "container" format and it is more or less difficult to convert .avi files depending on the format (codec) inside the container.
iDVD is fairly limited in the types of video formats it can convert (the latest version is the most flexible). If you have a very specific video you're wanting to convert, and thinking about buying a Mac, you could take it to an Apple store and see if iDVD recognizes the format. Alternatively, try visiting a Mac user group and see if they can be of assistance.
John -
How to use AppleScript to set "character fill color" in Pages 5.2?
For Pages 5.2 on OSX 10.9.3, what is the correct applescript for changing the "character fill" of text in pages.
If you highlight text, you do this via your mouse in the inspector by clicking "style," "advanced option (the gear wheel to the right of bold, italics, and underline), "character fill color (clicking on the multi-color circle, not the dropdown menu), and then choosing a color that comes up in the "colors" dialogue box.
I've looked all over and cannot find how to use applescript to set the character fill color in pages.
In some examples (not directly related) I see "character fill" used.
In others, I see "colorfill."
Basically, I want to use applescript, embedded in a keyboard maestro macro, to change the background color of the text (not the text color itself) to particular colors.
Given the changes and updates to Pages this year, and to applescript, what's the easy way to do this?
Thanks!
ChuckPages v5.2 still does not include selection-object, or character background color entries in its AppleScript dictionary, as does Pages ’09. Indirectly, using System Events, you can get the text selection in Pages v5.2, but then you can do nothing to change the selection. No assurances as to if or when Apple will mature the AppleScript dictionary support for Pages v5 series.
-
When I import photos from my camera, I have them placed into projects based on the date the photos were taken. However, I do not like the naming convention used by Aperture as it causes the projects to sort into a non-chronologial order. The convention is MMM-DD-YYYY and I want to change it to YYYY-MM-DD. Is it possible in Aperture 3.2.4 to do this?
In the Import panel you can edit the preset for the file name format to "Image year - image month - image day - index" for example; the preset for folder names seems to be gone in Aperture 3,3 - at least I cannot find it any longer. You only seem to be able to enter the folder name manually in the Import panel.
-
How to find and replace using AppleScript for TextWrangler?
I ran into a problem after exporting my book into EPUB from Indesign CS4. In this book the Latin diphthong æ is used. Unfortuately it didn't translate very well into the EPUB or corresponding XHTML files. Is there a way to do a batch change using AppleScript to change these symbols √¶ into æ which is the code for the diphthong? If so, how?
I also have an issue with the symbol †, in some of the documents it appears as this ‚Ć. Can I do a batch change for that as well? If so, how?
I'm new to using AppleScript so I appreciate all of the help. Thank you so much!!Hello
Here's some observations -
æ = U+00E6
= <c3 a6> (UTF-8)
= <c3 a6> (MacRoman) = æ
† = U+2020
= <e2 80 a0> (UTF-8)
= <e2 80 a0> (MacRoman) = †
which likely mean that your source data is text in UTF-8 but destination (or viewer or intermediate converter) is interpreting the data as text in MacRoman.
Make sure you properly declare the encoding of XHTML or EPUB document as UTF-8.
Good luck,
H -
Moving a layer in Photoshop CS5 using Applescript
I have a layer in a document called "logo" and i want to duplicate it to every open document and then move it to a specific spot in each document
I got the duplicating thing happening but cant seem to move the bounds of the layer (says it is read only and cannot be changed)
here is what I have written
tell application "Adobe Photoshop CS5"
activate
set theDocs to count of documents
repeat with i from 1 to theDocs
duplicate art layer "logo" of current document to document i
end repeat
repeat with i from 1 to theDocs
set current document to document i
tell document i
set bounds of art layer "logo" to {0.456666666667, 6.38, 2.88, 6.77}
--Adobe Photoshop CS5 got an error: Property is read/only and cannot be changed
end tell
end repeat
end tell
This doesn't error but also doesn't move the logo at all
tell application "Adobe Photoshop CS5"
activate
set theDocs to count of documents
repeat with i from 1 to theDocs
duplicate art layer "logo" of current document to document i
end repeat
repeat with i from 1 to theDocs
set current document to document i
tell document i
set properties of art layer "logo" to {bounds:{0.456666666667, 6.38, 2.88, 6.77}}
end tell
end repeat
end tell
anyone know what the language is to move the layer around?In any language the way to move a layer x,y is to use translate… You will need to do the math from current x,y to required x,y given a distance… A read only property is just that regardless of language… Here is a quick example of how I did this kind of thing using Applescript… I still do the same method now but use the ESTK instead…
tell application "Adobe Photoshop CS2"
activate
-- Store the app settings
set User_Rulers to ruler units of settings
set User_Dialogs to display dialogs
set ruler units of settings to pixel units
set display dialogs to never
set Doc_Ref to the current document
tell Doc_Ref
-- Store the image res so we can put it back
set Original_Res to resolution
-- Change to work at 72 dpi
resize image resolution 72 resample method none
-- Move horizontal 1 inch
translate layer 1 delta x 72 as pixels
-- Move vertical 1 inch
translate layer 1 delta y 72 as pixels
-- Read the bounds propety
set Layer_Bounds to bounds of layer 1
log Layer_Bounds
-- Move the layer using bounds to top/left
translate layer 1 delta x -(item 1 of Layer_Bounds) as pixels
translate layer 1 delta y -(item 2 of Layer_Bounds) as pixels
-- Put back the image res
resize image resolution Original_Res resample method none
end tell
-- Put back the app settings
set ruler units of settings to User_Rulers
set display dialogs to User_Dialogs
end tell
You should get the general idea of how this works from this. It should move the first layer across 1 inch, down i inch then put it top/left. It assumes you have a layer that is not a background layer nor is it locked in any way… -
How I generate index markers using Applescript and tagged text!
One of the challenges I've faced in automating the book making process using Applescript with inDesign is that there don't seem to be any AS commands for making new index markers (anyone please correct me I if I'm wrong about this).
I've tried various js scripts which do an OK job, but they don't make the actual native markers. This means you have to wait until the book (consistiing of multiple ID files) is complete (so that all the page numbers have been established) to generate the index.
Recently, I read a tweet from someone with a link to a technique which uses tagged text and find and replace with GREP to edit the tags, inserting the tagged text index tags in the text file and then re-placing the text file in the ID page. In itself, this works great. But I'm dealing with literally thousands of separate text frames, none of them connected in a story.
The books typically consist of around 1200 pages with almost that many people, each of whose names I need to index with "Lastname, Firstname" references. And those particular strings don't (can't) appear anywhere on the pages. There will also be about 50 ID files all combined into one book. So it is imperative that I have ID generate the native index markers. To help keep things straight and efficient, I'm creating separate small text frames to hold the lastname, firstname strings. I created an object style for these frames which sets the attributes to "nonprinting", and I place the frames in the margin.
Then I realized that I don't actually have to have ID export the tagged text files for each. I exported one prototype and copied its tags to properties in my script, and then I concatenate them with the respective list item values I import from the database.
At the proper point in the page building script, I tell "textwrangleer" to make a new document, set its contents to the index string for the current record, save it to disk, overwriting the previous one, and then tell ID to "place" it in the index text frame, which generates the ID index mark.
I actually got an AS error when I first tried this: "file doesn't exist" or some such. Then I realized that the "place" command was happening too soon, so I inserted a .5 sec delay in the script, and it worked.
This is actually my first major script for actual work, and I'm so excited about it! I promises to cut production time down to about a thenth of what it was.
I still have to add some logic to branch between handlers with slightly different parameters for five different page formats, but the same page building handler will work on all of them.A note on this:
Daniel Swanson wrote:
I've tried various js scripts which do an OK job, but they don't make the actual native markers. This means you have to wait until the book (consistiing of multiple ID files) is complete (so that all the page numbers have been established) to generate the index.
These scripts typically search for words and immediately write out the page numbers they are found on -- one shot indexing.
The solution is to add both the topic and its page reference to the current document's index:
if (app.activeDocument.indexes.length == 0)
app.activeDocument.indexes.add();
app.activeDocument.indexes[0].topics.add(app.selection[0].contents).pageReferences.add(app.selection[0]);
The first lines only make sure there is an index to add to (per default, a new document has none).
The last line adds a selected word to the index (it must be a plain text string, hence the use of its 'contents'), and then adds a reference to the selection in the text itself.
Adding the same word a second time will for a change (quite untypically for ID's Scripting) not result in an error but simply add another page reference to the existing one.
When doing this in a loop: remember to work backwards, because the index marker itself gets inserted into the running text, and that will throw off your text indices.
Maybe you are looking for
-
Faxing using Apple Modem (or any other) in Windows XP on a Macbook 5.5?
Hi, hope I'm posting in the right discussion board. I'm currently using Windows XP on a Macbook Pro 13" 5.5. I need to be able to fax directly from the computer. I wanted to know if you can use the obsolete Apple Modem (if I can find one in eBay) to
-
I have an eMac with USB 1.1, which i believe can't be updated to 2.0. At the moment I have a 3rd gen iPod which connects via Firewire and it all works fine. I'm considering upgrading to a new iPod, for the capacity, but I was wondering whether anyone
-
How do I get to speak to moderator about closed In...
Hi think the titles says it all but could do with contacting someone at the moderation team to get some exact dates. etc Long story short after agreeing with moderator to cancel line installation, BTOpenreach still turned up and installed a line. R
-
Keep plugins in separate folder
I apologize to many, if not most, of you who probably already practice this tip: install plugins into a dedicated folder. The only reason I'm posting this rather obvious (at least to me) suggestion is that I've read about several instances of people
-
Report - Print chart whit all DataProviders
Hello, I would like know if someone can help me. I did in my report a print using class 'Z_PRINT_HELP_SERVICE_ALL_DP' that print all tables. But this doesn't print the chart's object. Someone know how I can print all objects of my report using Z_PRIN