VBA是不是我的独特优势,但在这里我们去:Excel 2010中:宏隐藏列组
我想触发宏一旦一组列是隐藏或显示。我怎样才能存档这个?
我以前的研究结果
唯一的好提示关于这个我能找到在MSDN this讨论。在这里,一个解决方案是使用下面的方式起草单位:
从XLSX文件的根目录创建一个文件customUI\customUI.xml
与内容
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" >
<commands >
<command
idMso="ColumnsHide"
onAction="ColumnHide_onAction"/>
<command
idMso="ColumnsUnhide"
onAction="ColumnUnhide_onAction"/>
</commands >
</customUI >
,并添加
<Relationship Id="edTAB" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml" />
到_rels\_rels.xml
。 (所有这一切都可能是更容易使用Visual Studio,但我没有获得这种先进的工具在微软的世界......)现在,宏可以采用以下方式:
Public Sub ColumnHide_onAction(control As IRibbonControl, ByRef cancelDefault)
'
' Code for onAction callback. Ribbon control command
'
MsgBox "Ribbon Column Hide"
cancelDefault = False
End Sub
Public Sub ColumnUnhide_onAction(control As IRibbonControl, ByRef cancelDefault)
'
' Code for onAction callback. Ribbon control command
'
MsgBox "Ribbon Column Unhide"
cancelDefault = False
End Sub
这种做法完全捕获隐藏和取消隐藏栏目,但不隐藏和取消隐藏群组。所以,关闭,但不是那里。
从here下载可能的idMso
值,我得到了GroupViewShowHide
控件的通知。不过,使用与ColumnsHide
或ColumnsUnhide
相同的方式不会归档所需的结果。
任何想法?
if(cell.outlinelevel> 0)then cell.entirerow.showdetail = true/false –