VBA Excel 365 for Mac中的AppleScriptTask无法执行复杂任务,但Indesign中的javascript可以

2024-05-29 11:41:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用python下载youtube视频,但从vba Excel 365 for Mac调用

我按照所有指示操作,例如在~/Library/Application Scripts/com.microsoft.Excel中创建一个AppleScript文件,该文件运行一个终端命令,如:

do shell script "python3 downloadYT.py -i \"YTLink\" -f outputPath -o outputfile"

其中YTLinkoutputPathoutputfile来自excel工作表,并传递一个名为参数字符串的字符串

我可以完成一些简单的任务,比如返回终端命令 python3 downloadYT.py -i YTLink -f outputPath -o outputfile 正确返回Excel VBA

我还可以在Terminal中使用相同的参数正确执行python文件downloadYT.py。我还可以在脚本编辑器或安装了AppleScript translator的VS代码中正确执行AppleScript文件。但是,我无法通过使用AppleScriptTask从excel365中的vba调用AppleScript工作

我知道2016版后Excel for mac中存在沙箱限制,但不知道具体是什么。我曾经在InDesign CS6中编写JavaScript来执行以下任务:;导出为pdf或idml或InDesign文件,将其压缩,并通过ftp发送到服务器,或提交到网站

我通常使用do shell scriptcurl来执行这些任务。该代码适用于Big Sur下的InDesign CC 2021。不明白为什么Excel 2016+中有沙箱限制,而Adobe InDesign 2021中没有沙箱限制

任何克服这一问题的想法都将受到高度赞赏


Tags: 文件py命令终端forvbaexceldo

热门问题