如何使用Visual C#在Excel中自动单击对话框中的按钮?

wpx232ag  于 2023-03-24  发布在  C#
关注(0)|答案(1)|浏览(121)

我做了一个程序,可以从数据表中的一组数据自动生成图表;我想删除我制作的所有图表;我做了一些代码来删除所有的图表,但它需要我按回车键确认一个对话框来删除图表,这是为每个图表。这是繁琐的,所以我想自动化。
这是我的代码:

while(currentApplication.Charts.Count > 0)
{
   currentApplication.WindowState = Excel.XlWindowState.xlMaximized;
   SetForegroundWindow(currentApplication.Hwnd);
   currentWorkbook.Charts.Item[1].Delete();
   SendKeys.SendWait("{TAB}");
   SendKeys.SendWait("{ENTER}");
}
qcuzuvrc

qcuzuvrc1#

感谢NickProud的建议,我只需要将DisplayAlerts设置为false,这样它就不会显示DialogBox,并且它会自动接受自动删除ChartSheet(或数据表)。
下面是更新后的代码:

while(currentApplication.Charts.Count > 0)
{
   currentApplication.WindowState = Excel.XlWindowState.xlMaximized;
   SetForegroundWindow(currentApplication.Hwnd);
   currentApplication.DisplayAlerts = false;
   currentWorkbook.Charts.Item[1].Delete();
   currentApplication.DisplayAlerts = true;   
}

相关问题