グーグルと私自身の試行錯誤を通して、私は自分の答えを見つけました。
私が見つけることができる最良の方法は、VBSですべてのInCopyスクリプトを実行し、Processインスタンスを使用して、cscriptでargを送信することです。
例C#:
Process myScriptProc = new Process();
myScriptProc.StartInfo.FileName = @"cscript";
myScriptProc.StartInfo.WorkingDirectory = rootDir + "\\"; // rootDir being the path where my vbs lives
myScriptProc.StartInfo.Arguments = "MyScript.vbs " + filesPath; // filesPath is the arg sent to the script
myScriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
myScriptProc.Start();
myScriptProc.WaitForExit();
myScriptProc.Close();
MyScript.vbs
main
Function main()
Set myInCopy = CreateObject("InCopy.Application.CC.2015")
Set obj = CreateObject("Scripting.FileSystemObject")
myInCopy.ScriptPreferences.UserInteractionLevel = 1699640946
myFormat = 1952412773
myExtension = ".txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = WScript.Arguments(0)
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each x In colFiles
If LCase(objFSO.GetExtensionName(x.name)) = "incx" Then
thisDoc = x
Set myDoc = myInCopy.open(thisDoc)
Set myStory = myInCopy.ActiveDocument.Stories.Item(1)
parts = split(x.Name, ".")
myFilePath = objStartFolder & "/" & parts(0) & myExtension
myStory.Export myFormat, myFilePath
myDoc.close()
obj.DeleteFile(thisDoc)
End If
Next
myInCopy.ScriptPreferences.UserInteractionLevel = 1699311169
End Function
アドビのフォーラムを吹き抜けるtumbleweedsから判断すると、私はどんな答えを取得するつもりはなかったので、私は、VBScriptの私のJavaScriptファイルを書き直しDoJavaScriptFileを呼び出すためのドキュメンテーションの例で、オブジェクトにメソッドエラーが見つかりません。
VBでスクリプトをやり直した後の最大のハードルは、スクリプトを外部から実行すると、Adobe固有のものに超秘密の列挙10進数値を使用する必要があるということでした。 MyScript.vbsを見ると、ランダムな10桁の値のようなもののいくつかのインスタンスが表示されます。ここから来たもの:私は私の人生を保存するためのAdobeのドキュメントのいずれかにその情報を見つけることができなかったので、
http://jongware.mit.edu/idcs5js_html_3.0.3i/idcs5js/index_Enum%20Suite.html
は、そのリソースを作成した人を祝福します。
TL; DR: Adobeアプリケーションの外部で実行されるプロセスやスクリプトを使用して自動化しようとする場合は、VBScriptですべてを行い、謎の小数点挙を注意してください。
無用脚注: MyScript.vbsここでは、ディレクトリに渡されたからすべての* .incxファイルを読み込み(同じファイル名で、同じディレクトリ内に)、プレーン.TXTとして輸出し、オリジナルを削除します。