0
我不是AppleScript的专家,因此我试图找到一个成功处理一批Excel文件的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
快速的问题。我相信你在MAC中这样做?如果是的话,如果你有Office 2011,那么你也可以使用Excel宏来实现你想要的。 – 2012-08-15 04:23:29
嗨Siddarth - 是的,我在使用Office 2011的Mac上。只要它可以为我执行批处理(加载每个文件),我会很好地使用宏...我是处理35个文件,我需要每周生成这个报告:/所以如果可行,宏观的想法是受欢迎的;) – wotaskd 2012-08-15 16:18:02
我已经添加了新的标签。实际上,大多数Excel VBA也可以与Excel 2011 VBA一起使用。 :) – 2012-08-15 16:33:56