提问人:Wendel Fabiano R. da Silva 提问时间:7/5/2022 最后编辑:Wendel Fabiano R. da Silva 更新时间:7/8/2022 访问量:285
由 Indesign 扩展脚本创建的 VBScript 不执行部分代码 - WScript.Shell 运行
VBScript created by Indesign Extended Script, does not execute part of the code - WScript.Shell run
问:
我有一个由 Indesign JSX(扩展脚本)创建的 VBScript。 它运行 bash 命令 (DOS) 将 ODT 转换为 PDF。 但是,通过 Indesign 这部分 (shell.Run) 不起作用。 我放了两个 MsgBox,一个在之前,一个在之后,都运行了。 只有没有的 PDF 转换部分。
VBS文件保存在桌面上,如果我通过单击文件来运行它,它将运行所有指令。 该视频表明,在 indesign 中它不会运行,已经在资源管理器中,它可以 100% 工作。https://youtu.be/0-O7KWVIOdo
代码 JSX
function fnc_ODT_RunVbsThroughJs(){
// community.adobe.com/t5/illustrator-discussions/run-vbscript-through-javascript-in-illustrator/td-p/10082969
var str =
'Set myApp = CreateObject("InDesign.Application")\r\n' +
'Set oFSO = CreateObject("Scripting.FileSystemObject")\r\n'+
'Set shell = CreateObject("WScript.Shell")\r\n'+
'MsgBox "Bem vindo seu Codorna"\r\n' +
'shell.Run """C:\\Program Files (x86)\\LibreOffice 4\\program\\swriter.exe"" --headless --convert-to pdf 4001278.odt"\r\n' +
'MsgBox "Tchau seu Codorna"'
;
var vbsFile = new File(Folder.desktop + '/codorna.vbs');
try {
vbsFile.open('w');
vbsFile.write(str);
} finally {
vbsFile.close();
}
vbsFile.execute();
}
代码 VBS
Set myApp = CreateObject("InDesign.Application")
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set shell = CreateObject("WScript.Shell")
MsgBox "Bem vindo seu Codorna"
shell.Run """C:\Program Files (x86)\LibreOffice 4\program\swriter.exe"" --headless --convert-to pdf 4001278.odt"
MsgBox "Tchau seu Codorna"
更新 07/07/2022.
我尝试了其他文件夹@Yuri Khristich。
我试过BAT,同样的问题......不。。。更 糟:
- 通过 indesign 或单击 Windows 资源管理器,不起作用。
- 通过cmd:c:...\ODTtoPDF.bat工作100%
但不要尝试记事本,我会的。只能看到运行 .exe 文件。
我需要将 ODT 转换为 PDF。
显然,最好的是 soffice 或 swriter。
以前,我尝试按单词转换,但有些文件只是在 word 中崩溃,swriter 不会发生这种情况。
07/07/2022 第二轮
- @KJ,我尝试了您的想法,:(没有发生任何不同的事情,我重命名了资源文件,使用管理权限重新打开了 Indesign,重新安装了资源,但问题仍然存在
我删除了参数并工作了。不幸的是,我需要参数来生成 pdf。
Indesign JSX
function fnc_ODT_RunVbsThroughJs(){
// community.adobe.com/t5/illustrator-discussions/run-vbscript-through-javascript-in-illustrator/td-p/10082969
var str =
'Set oFSO = CreateObject("Scripting.FileSystemObject")\r\n'+
'Set shell = CreateObject("WScript.Shell")\r\n'+
'MsgBox "Bem vindo seu Codorna"\r\n' +
'shell.Run """C:\\Program Files (x86)\\LibreOffice 4\\program\\swriter.exe""" \r\n' +
//'shell.Run "C:\\PROGRA~2\\LIBREO~1\\program\\swriter.exe --headless --convert-to pdf 4001278.odt"\r\n' +
//'shell.Run "C:\\Windows\\System32\\notepad.exe"' 2022-07-07 NOTEPAD WORKS
'MsgBox "Tchau seu Codorna"'
;
//var vbsFile = new File(Folder.desktop + '/codorna.vbs');
var vbsFile = new File(scriptFolder + '/codorna.vbs');
try {
vbsFile.open('w');
vbsFile.write(str);
} finally {
vbsFile.close();
}
vbsFile.execute();
}
由 Indesign 生成和运行的 VBS (codorna.vbs)
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set shell = CreateObject("WScript.Shell")
MsgBox "Bem vindo seu Codorna"
shell.Run """C:\Program Files (x86)\LibreOffice 4\program\soffice.exe"""
MsgBox "Tchau seu Codorna"
答: 暂无答案
评论
Folder.desktop
Folder.temp
swriter.exe
notepad.exe
swriter.exe --headless --convert-to ...
execute()
d:\\temp\\4001278.odt
4001278.odt