Tag: 事件

用Worksheet_SelectionChange重写条件格式

我有一些工作表中的代码来突出显示所选单元格的行。 但是,此工作表具有对某些行进行着色的条件格式。 突出显示macros不符合格式条件满足的行(在高亮颜色不覆盖条件格式的颜色的意义上)。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Cells.Interior.ColorIndex = xlColorIndexNone ActiveCell.EntireRow.Interior.ColorIndex = 19 'Highlight row End Sub 有没有人知道一个解决方法,而不删除条件格式? 例如。 我可以暂时禁用一个选定的行,并重新启用它时,该行是不被选中? 格式是应用于所有单元格的一个规则。 我理论上可以为每一行创build一个独立的规则(~500个),然后完全closures它,稍后再重新应用它,但这看起来有点过分。

Excel自动化:closures事件丢失

另外大家好, 我正在通过C#中的Interop进行Excel自动化,并且我想在工作簿closures时通知。 但是,工作簿上没有closures事件,也没有应用程序上的退出事件。 有没有人做过? 我怎样才能写出一段代码,它对正在closures的工作簿起作用(只有在工作簿真的closures的情况下才会执行) 理想情况下,closures工作簿后应该会发生,所以我可以依靠该文件来反映所有更改。 关于我到目前为止发现的细节: 有一个BeforeClose()事件,但如果有未保存的更改,则在用户被问及是否保存它们之前引发此事件,所以此刻我可以处理该事件,我没有最终文件,我不能释放COM对象,这两个我需要有/做的事情。 我甚至不知道工作簿是否会被closures,因为用户可能会select放弃closures。 然后有一个BeforeSave()事件。 因此,如果用户select“是”来保存未保存的更改,则在 BeforeClose() 之后执行BeforeSave()。 但是,如果用户select“中止”,然后点击“文件 – >保存”,则执行完全相同的事件顺序。 此外,如果用户select“否”,则根本不执行BeforeSave()。 只要用户不点击这些选项中的任何一个,也是一样的。

Excel加载项如何响应任何工作表中的事件?

我们的工作簿是服务器生成的SpreadsheetML ,它不能包含任何 VBA代码。 不幸的是,创build本机Excel文件或Excel 2007 XML文件也不是一个选项。 所以,我有一个Excel加载项(VBA,而不是XLL),我们的每个用户都安装了一些额外的UDF等,我们的工作簿需要。 这很好,但现在我需要有一个macros, 每次用户更改任何单元格中的文本时都需要执行,而不pipe当前正在使用哪个工作簿。 到目前为止,我已经在我的加载项中创build了一个新的Class模块(SheetChangeHandler),代码如下: Option Explicit Private WithEvents App As Application Private Sub Class_Initialize() Set App = Application End Sub Private Sub App_SheetChange(ByVal Sh As Object, ByVal Source As Range) Debug.Print "Changed" On Error GoTo Finish App.EnableEvents = False DoWorkOnChangedStuff Sh, Source Finish: App.EnableEvents = True End Sub 在我的加载项中,我添加了一行来实例化新类: […]

在Excel中重命名工作表事件

Excel工作表重命名时,获得一些VBA代码的最佳方法是什么?

以编程方式在VBA中创build事件侦听器

是否有可能以编程方式创build一个组合comboBox上的event method ? 在工作表上,我有一个ComboBox ,我可以通过代码得到它的名字: Dim ole As OLEObject For Each ole In ActiveSheet.OLEObjects If TypeName(ole.Object) = "ComboBox" Then ' ole.Name '<<<<<<<< here End If Next ole 我现在如何创build和分配一个ole.Name的event method : Private Sub myComboBox_Change() … End Sub 在Java中可以使用: myComboBox.setOnChangeListener(…some code of listener interface…) ;)

自动化加载项与COM加载项

我是附加程序的新手,需要以下scheme的帮助: 我有一个C#Excel自动化插件,它调用几个UDF 。 在自动加载项加载期间,我想要进行用户名和密码检查,在加载项加载时,用户可以input其详细信息的屏幕必须popup。 如何使用自动化加载项来完成? 如何使用自动化插件一般地完成事件处理? 我想要在用户按下F9来计算一些单元格中的UDF公式时进行一些计算。 是否有任何文章解释了自动化插件中的事件处理?