Tag: modal dialog

Excel VSTO加载项:无法在MessageBox.Show(“Test”)后重新激活Excel;

我正在实现一个显示一些模式对话框的VSTO Excel加载项。 这些对话框在Windows任务栏中不显示为自己的窗口。 但是在某些情况下,这些对话框不是从Excel顶端消失,不能通过使用任务栏回来! 整个故事(用Windows XP – 7,Excel 2007 – 2010重现): 我打开Excel并创build两个或更多新的工作簿 我显示一个模式对话框,让我们说通过“MessageBox.Show”我打开“记事本”,并最大化其窗口 我尝试通过Windows任务栏重新激活其中一个Excel工作簿窗口 我期望:Excel将拿出我的模态MessageBox出现在上面 实际结果是:当您单击Windows任务栏中的工作簿项时,MessageBox或任何Excel工作簿都不会出现! 为什么??? 我可以通过Ctrl + Tab重新激活Excel。 然后我的模式对话框/ MessageBox正确的在上面。 如果您有Visual Studio和Excel,则很容易重现。 请帮忙! 问候,约尔格 代码示例: 只需创build一个空的Visual C#/ Office / 2010 / Office 2010加载项 用下面的代码replace“ThisAddIn.cs”的内容: – namespace ExcelAddIn6 { public partial class ThisAddIn { private void ThisAddIn_Startup(object sender, System.EventArgs e) { NativeWindow excelWindowThatIsTheOwner = […]

为什么在从用户窗体启动一个用户窗体后,closures两个窗体呢?

工作表上的一个button启动一个macros,打开一个用户窗体(比如userform1)。 Userform1被加载非模态,以便用户使用userform1和工作表(即单击单元格)进行input。 userform1上有一个button,点击后会打开另一个用户窗体(比如userform2)。 Userform2是模态的。 点击userform2上的Cancelbutton,卸载userform2; 但是,出于某种原因,它也卸载了userform1,我不想要。 如果我使用userform1模式,那么卸载userform2不会卸载userform1; 但是,用户不能再使用(即单击)工作表中的单元格。 我无法find任何信息,这将给我一个线索,为什么卸载一个用户窗体都卸载。

可以打开一个窗口为vbModeless?

我正在使用下面的代码来自动化命令栏解锁VBE在一个locking的工作簿中: Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute 接下来,我使用一堆代码在此之后添encryption码到这个窗口中,并且它在另一个excel实例中工作正常,但是当在同一个工作簿上使用时,我遇到了一个问题,因为代码在密码input点暂停窗口打开。 这似乎是因为窗口被打开为Modal,所以我现在试图打开这个Modeless,以便代码继续。 这甚至有可能吗?