在 MacO 中使用 Applescript 打开 Excel 文件并启用宏

问题描述 投票:0回答:1

如何使用 Applescript 在 MacO 中打开 Excel 文件并启用宏?

我已经尝试过:

-- Set the path to your Excel file
set excelFile to "/Users/spagcoder/Desktop/proms webform/PROMS.xlsm"

-- Launch Excel in the background
tell application "Microsoft Excel"
    activate
    delay 5
    open workbook workbook file name excelFile
    delay 3
end tell

tell application "System Events"
    tell process "Microsoft Excel"
    click button "Enable Macros" of window 1
    end tell
end tell

这会打开文件,但是当出现禁用/启用宏警报时脚本就会挂起。

如果文件已打开并且宏对话框已打开,我可以运行一个脚本,该脚本只是

tell application "System Events"
    tell process "Microsoft Excel"
    click button "Enable Macros" of window 1
    end tell
end tell

这有效。按钮被点击。

excel applescript applescript-excel
1个回答
0
投票

我在测试中看到了与您相同的行为:选择是否启用或禁用宏是 .xlsm 的“打开”过程的一部分,因此运行时会停止,直到您做出选择为止。

您可以通过将第二个延迟期转变为包含在 try 中的超时来解决此问题:

try
    with timeout of 3 seconds
        tell application "Microsoft Excel"
            activate
            delay 5
            open excelFile
            --delay 3
        end tell
    end timeout
on error msg number num
    if num = -1712 then
        #Apple Event timed out. Keep processing.
    else
        #if anything else caused the error:
        error msg number num
    end if
end try

如果为时已晚,无法为您的项目提供帮助,我们深表歉意。当我寻找灵感来完成同样的事情时,这个问题是谷歌的最高结果,所以希望它对其他也遇到这个问题的人有用。

© www.soinside.com 2019 - 2024. All rights reserved.