Tag: 退出

退出Excel和注销时出错

Excel VBA(2010在Windows 7上)需要一些帮助。 我想要做的是closuresExcel,然后closures电脑。 我有的代码是: Declare Function ExitWindowsEx& Lib "User32" (ByVal uFlags As Long, ByVal dwReserved AS Long) Global Const EWX_LOGOFF = 0 Global Const EWX_FORCE = 4 ….Main Code Here …. Application.DisplayAlerts = False Application.Quit Action = ExitWindows(EWX_LOGOFF or EWX_FORCE, 0) 间歇性地,我得到以下错误: 不能退出Microsoft Excel 机器仍然退出,这是我想要的,所以这不是一个大问题。 我只想干净地退出。 我一直保持EWX_FORCE,因为我不想被窗口提示。 有什么build议么?

等待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 VBA:暂停“循环”

一般问题… 如果我暂停/退出/中断我的VBA代码(基于Excel)中的“For”循环存在什么危险? 这是我的代码: For i = 1 to Sheets.Count 'check stuff 'do stuff if MsgBox("blah blah", vbyesnocancel, "blah") = vbyes then 'do stuff GoTo loopescape End if Next loopescape: 'rest of code 基本上,我有我的代码构build的方式提前退出for循环(基于用户的input)。 我只是想知道这是否会让我的程序易受崩溃(或其他危险)的影响。 那么,你认为中断/暂停/退出“for”循环可能会有问题吗? 谢谢, 埃利亚斯

调用退出后,应用程序不会退出

嘿家伙,我有一个小问题,我似乎无法弄清楚。 我正在保存一个DataGridView(它的内容)到一个xls文件。 除了我的任务pipe理器,我还没有遇到任何问题,它仍然显示它正在运行。 我曾打电话给: xlApp.Application.Quit() 这被宣布为: Dim xlApp As New excel.Application 这似乎不起作用,但这是我放弃,当我让用户select将其导出到Word文档的相同方式。 林不知道我要去哪里错了… 这是我完整的代码 Imports Word = Microsoft.Office.Interop.Word Imports Excel = Microsoft.Office.Interop.Excel Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For x As Integer = 1 To 3500 DataGridView1.Rows.Add(New Object() {"r" & x.ToString & "c1", "r" & x.ToString […]