Tag: 等待

等待Excel Interlop在C#中退出

我正在开发一个工具,为我自动执行一些操作。 其中一个操作是下载一个excel文件,在其上运行一个macros,然后邮寄文件。 在某些情况下,我希望工具只运行Excelmacros,然后在x秒后退出Excel并邮寄文件。 这一切工作正常,因为我可以等待一段固定的时间。 但是,在某些情况下,我希望能够检查和更改由Excelmacros检索到的数据。 当这种情况下,我想保持excel打开,直到使用手动closuresexcel。 当我发现excel不再打开我想要邮件的文件。 这最后一个案子给我一些麻烦。 因为我使用excel interlop打开excel,我不能使用WaitForExit()像我可以用一个正常的过程。 当我手动closuresexcel的过程也一直在进程资源pipe理器中运行。 我在互联网上search的解决scheme,但没有一个真正的工作。 有没有什么办法可以用简单的方法实现呢? 更新非常感谢您的回复,它真的帮助了我。 等待excel现在正常工作。 我使用了下面的代码: if (Settings.ExitExcel) { System.Threading.Thread.Sleep(Settings.ExcelTimeout * 1000); //Close Excel excelWorkbook.Close(); excelApp.Quit(); } else { Excel.AppEvents_WorkbookBeforeCloseEventHandler Event_BeforeBookClose; Event_BeforeBookClose = new Excel.AppEvents_WorkbookBeforeCloseEventHandler(WorkbookBeforeClose); excelApp.WorkbookBeforeClose += Event_BeforeBookClose; //Wait until excel is closed while (!isClosed) { Thread.Sleep(1000); } //Show message MessageBox.Show("excel closed"); } //Clean up […]

循环,而数据在Excel中刷新

我试图创build一个无害的循环,而bloomberg刷新大量的数据。 数据刷新后,我想打印(不是一个问题)。 问题是,等待和其他VBA延迟命令实际上由于某种原因停止刷新数据。 看起来像一个问题,彭博社。 我正在寻找一个简单的Do(something?)循环,直到范围是所有数字(isnumber)。 我只需要程序继续运行,直到所有的数据更新,然后它可以打印和继续前进。 有一个简单的循环,直到一个范围是我可以使用的所有数字? 谢谢

用多个工作表输出一个Excel文件

在Talend Open Studio for Data Integration中是否有一个组件可以输出单个Excel文件,但是有两个单独的工作表? 我想将原始文件中的一些列分隔到另一个表单中,将另一个列分隔到第二个表单中。

VBA Outlook调用Excelmacros并等待macros完成

我从Outlook规则脚本调用Excelmacros。 这个过程是:获取邮件,运行一个运行Outlook脚本的Outlook规则,从该脚本打开Excel,运行Excelmacros,closuresExcel。 如何在Outlook规则脚本中validationExcelmacros是否已完成,以保存并closures应用程序? Sub AskMeAlerts() Dim appExcel As Excel.Application Dim wkb As Excel.Workbook Set appExcel = CreateObject("Excel.Application") appExcel.Workbooks.Open ("C:\Ask me question workflow.xlsm") appExcel.Visible = True appExcel.Run "'Ask me question workflow.xlsm'!AskMeFlow" appExcel.DisplayAlerts = False appExcel.ActiveWorkbook.Save appExcel.Quit Set appExcel = Nothing Set wkb = Nothing End Sub