我不是 AppleScript 方面的专家,所以我一直试图找到一个 AppleScript 代码示例,它可以成功处理一批 Excel 文件(每个文件都有一个工作表),将每个文件的内容复制到一个目标表中.
这是我想到的伪代码:
pick source folder with Excel files;
pick destination Excel file;
for each file within the source folder:
copy data from default sheet;
paste data into destination sheet's first unused row
end
这是我想出的代码。它确实正确打开了每个文件,但复制/过去操作没有发生。知道如何让它工作吗?
set main_folder to choose folder with prompt "Please select the folder containing the Excel files:"
set target_excel to choose file with prompt "Please select target Excel file:"
set excel_extension_list to {"xls", "xlsx", "csv"}
tell application "Finder"
set excel_files to (files of main_folder whose name extension is in excel_extension_list) as alias list
end tell
tell application "Microsoft Excel"
open target_excel
repeat with a_file in excel_files
open a_file
activate a_file
tell sheet 1 of workbook a_file
set the_range to value of used range
set number_of_source_rows to count of rows of the_range
end tell
activate target_excel
tell sheet 1 of workbook target_excel
set new_range to value of used range
set number_of_destination_rows to count of rows of new_range
set destination_range to range "A" & (number_of_destination_rows + 1) & ":E" & (number_of_destination_rows + 1 + number_of_source_rows)
set value of destination_range to the_range
close workbook a_file saving no
end tell
end repeat
end tell