Copy link to clipboard
Copied
I have an existing script that works great. The current steps are: Open Illustrator, click File -> Scripts to run the script, copy a string of parameters from an external source, paste values in a text field and click Done. Below is a screenshot of this dialog:
While the script is working great, it is still a manual process to do the ~10 clicks to open Illustrator, run the script, provide it with values and wait the ~5 seconds for the script to finish. Ideally at night the computer itself would be able to do all of these steps.
*As the script is now, the provided values get passed into a function so the dialog part can easily be skipped when automated.
Windows 11 64-bit
Illustrator 25.4.6
Thanks.
I used a VBScript with a timer to execute a jsx in Illustrator periodically. You can take that reference and either create a cron job or use the timer as I use. You will have to launch the vbs once. I am quoting my code below to give you an idea
Set appRef = CreateObject("Illustrator.Application")
scriptdir = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
'Change the value of inPath and outPath to absolute value of the path if needed
arg1 = "input args o...
I did come across that link that you provided and I felt that I needed to ask a much simpler question to get a much simpler answer before digging into the extremely well detailed posts within that thread.
Your post most certainly got me in the right direction, because of it I ended up in the "Photoshop Ecosystem" where there was a thread that basically provided what I was looking for. Here is the link that has a great example of the VBS calling script as well as the JSX called script.
Solved: Re: Passing arguments to the jsx file from command... - Adobe Support Community - 1087954
...Copy link to clipboard
Copied
I used a VBScript with a timer to execute a jsx in Illustrator periodically. You can take that reference and either create a cron job or use the timer as I use. You will have to launch the vbs once. I am quoting my code below to give you an idea
Set appRef = CreateObject("Illustrator.Application")
scriptdir = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
'Change the value of inPath and outPath to absolute value of the path if needed
arg1 = "input args one"
arg2 = "input args two"
While 1
appRef.DoJavaScriptFile scriptdir + "\\cron.jsxbin", Array(arg1, arg2)
WScript.sleep 300000 'Time in milliseconds
Wend
Simliarly you can stitch something up using Applescript on a MAC. See the following post as well, this might be interesting
If it works you can wrap the command up in a shell script and the create a cron job.
I hope these ideas get you on path to something that will work for you
-Manan
Copy link to clipboard
Copied
I did come across that link that you provided and I felt that I needed to ask a much simpler question to get a much simpler answer before digging into the extremely well detailed posts within that thread.
Your post most certainly got me in the right direction, because of it I ended up in the "Photoshop Ecosystem" where there was a thread that basically provided what I was looking for. Here is the link that has a great example of the VBS calling script as well as the JSX called script.
Solved: Re: Passing arguments to the jsx file from command... - Adobe Support Community - 1087954
Even though I used the link's implementation I did snag the syntax you provided to do a sleep before the appRef.DoJavaScriptFile call, I need to do a sleep for ~10 seconds as Illustrator boots up otherwise the script does not run correctly.
Thanks, couldn't have come up with the answer without your post.
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more