我是applescript的新手,对此的任何帮助将不胜感激。我认为对于比我有更多技能的人来说,这将是一个很好的挑战。所有描述的都是在 Snow Leopard 和 MS Office 2011 中完成的。
我有一个 URL 列表(从单元格 Q2 开始),并且我有 applescript 来执行以下一系列任务:
- 打开 MS Excel
- 创建新工作簿
- 从 MS Excel 单元格 Q2 复制 URL。
- 粘贴到 Firefox 地址栏并继续。
- 单击 Firefox 菜单栏功能“View1”(来自附加组件)
- 单击 Firefox 菜单栏功能“View2”(来自附加组件)
- 单击 Firefox 菜单栏功能“复制所有表格”(来自附加组件)
- 在 Excel 中创建新工作簿
- 将复制的文本粘贴到新工作簿单元格 A1
- 将新工作簿另存为 workbook002.xlsx
- 关闭工作簿
我已经为此编写了下面的脚本,它可以工作。问题是我不能让它重复。需要repeat函数来重复整个脚本的执行,首先将单元格Q2更改为Q3,依此类推,直到最后一个单元格包含值0,即结束循环的信号,并用名称保存每个工作簿按顺序(workbook002 然后 workbook003 等)。我认为不需要更改 firefox 部分,因为步骤始终相同。
这是脚本:
do shell script "open -a /Applications/Microsoft\\ Office\\ 2011/Microsoft\
\ Excel.app ~/Desktop/KospiSection2.xlsx"
tell application "Microsoft Excel"
set sourceBook to workbook "Section2.xlsx"
set sourceRange to get range "Q2" of sheet 1 of sourceBook
copy range sourceRange
end tell
tell application "Firefox"
activate
tell application "System Events"
tell process "Firefox"
click menu item "PasteGo" of menu "Tools" of menu bar 1
delay 3
click menu item "View1" of menu "View" of menu bar 1
delay 10
click menu item "View2" of menu "View" of menu bar 1
delay 2
click menu item "Copy all Tables (2)" of menu "Edit" of menu bar 1
delay 3
click menu item "Close Tab" of menu file of menu bar 1
end tell
end tell
end tell
tell application "Microsoft Excel"
make new workbook
delay 2
tell active sheet of active workbook
paste worksheet destination range "A1"
delay 2
end tell
end tell
do shell script "save as -a /Applications/Microsoft\\ Office\\ 2011/Microsoft\\
Excel.app ~/Desktop/workbook002.xlsx"
如果有人能弄清楚如何做到这一点,真诚地感谢。很长一段时间以来,我一直在为此头疼。ps如果有人知道一本关于用applescript运行excel的好书,请告诉我。
再次感谢!