使用Applescript将多个Excel工作簿中的数据复制到主数据库中

时间:2014-07-03 18:55:24

标签: excel applescript

我正在尝试将一系列Excel文件中的值组合到一个主文件中。每个较小的文件都有一个标题行,然后是144行数据,列A-J。该脚本应该遍历每个脚本,获取数据减去标题,然后在主工作簿中找到没有数据的下一行并插入输入数据。但是在粘贴部分和我尝试保存主文件时都会出现问题。

尝试选择要复制的多个文件给我一个奇怪的工作表,其中数据从不同的输入工作表中多次复制(不确定这是否与剪贴板无法正确清除?)。然后最后,它问我是否要保存主excel工作簿,所以看起来它似乎正在跳过“保存”行(即使有时那部分工作?)。

set whichFile to choose file with prompt "choose files to copy" with multiple selections allowed
set mainBook to choose file with prompt "choose master file"

    repeat with eachFile in whichFile

    tell application "Microsoft Excel"

        activate
        open eachFile

        -- get data to copy
        set theRange to range "A2:J145" of active sheet of workbook eachFile
        select theRange
        tell application "System Events" to keystroke "c" using command down

    end tell

    tell application "Microsoft Excel"

        -- write data into excel
        open mainBook
        set lastFilledCell to get end (range "A105536") of active sheet of mainBook direction toward the top
        set insertPoint to get offset lastFilledCell row offset 1
        select insertPoint
        tell application "System Events" to keystroke "v" using command down

    end tell

    tell application "Finder" to set clipboard to {}

    tell application "Microsoft Excel"

        save mainBook in file mainBook with overwrite
        close workbooks

    end tell

end repeat

对于任何明显的错误感到抱歉,我对编码很新。我知道例如,最好是直接依赖设置值而不是使用剪贴板(特别是使用键盘),但我根本无法使用它。

0 个答案:

没有答案