2011-01-13 83 views
1

我试图自动化一些excel处理。使用autoit,我可以使用加载项打开多个Excel。此加载项用于更新此Excel中的数据。自动选择excel中的子菜单

在autoit中,我设法打开带加载项的excel文件,但现在我需要选择menuitem来自动更新excel。我没有任何线索在autoit3中如何做到这一点。

我找不到任何教程或手册如何做到这一点。

回答

0

如果您知道菜单命令的击键,则可以使用AutoIt Send函数。

例如,Excel中的保存功能是CTRL + s。

在AutoIt的,这将是:

Send("^s") 
+0

我用你的,因为它很简单。但它给了其他PC上运行的问题,因为插件在其他PC上没有显示相同的行为布局。 – gtheys 2011-05-05 11:08:54

0

我从StackOverflow上您的其他问题,您使用的是ExcelCOM库看看。您必须意识到,您尝试点击的MenuItem以与ExcelCOM库相同的方式对底层代码执行一些操作。

您的问题的最佳解决方案是找出MenuItem调用哪些方法,然后重现与ExcelCOM库相同的行为。你的意思是“自动更新Excel”我不明白,否则我会发现如何通过ExcelCOM重现你的行为。

+0

menuitem是来自我加载的插件的菜单项。我已经解决了它挤压按ALT +左.... +下来等。 – gtheys 2011-02-10 07:21:04

1

这听起来像是用Excel宏代替它会更好。如果单击“工具>宏>记录新宏”并设置该auto_open的名称,然后选择要更新的单元并更新它们,然后停止记录,则每次打开它时都会有一个宏刷新单元格。如果您需要一个单独的文件来刷新所有文件,您可以创建一个新的电子表格并开始记录并使用文件打开来打开(或关闭)包含在代码中的电子表格。不要忘了也要保存这个宏。

PS-如果您需要在没有运行宏的情况下打开文件,则需要先打开excel,然后使用“file> open”路径打开文件时按住shift键。

0

如果你使用的是excel 2007(我不确定早期版本)和更高版本,你可以在队列中使用字母组合(可能)调用你想要的每个菜单选项。当您打开excel时 - 按下并释放Alt键,您将看到主菜单选项下方的字母,如图片http://img.photobucket.com/albums/v479/vaeryn/Excel1_zps98c2f450.png然后按字母顺序逐个查看您希望的菜单选项。