我正在尝试将一系列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
对于任何明显的错误感到抱歉,我对编码很新。我知道例如,最好是直接依赖设置值而不是使用剪贴板(特别是使用键盘),但我根本无法使用它。