|
本帖最后由 ichjames 于 2017-7-25 08:35 编辑
请教各位大牛一个VBA的问题
在开发中我需要做一个这样的功能。 假设WORD中有 表格1 和 表格2。 需求是表格1 不允许做任何表格结构的变更,类似 增加列 增加行,删除列之类的操作。 而表2 则不做任何限制。
要求是必须用VBA来实现。
目前我的做法是重写WORD的命令,代码如下
我遇到的问题是,当判断为是表格1时,能正常弹出禁止的提示。但是如果是表格2,则应该继续执行WORD原有的右侧插入列的逻辑。 目前我只能通过录制宏得知 word做了这样的操作 Selection.InsertColumnsRight。 虽然也能实现这样的功能。 但如果是其他按钮,例如“删除单元格”,“插入单元格”之类的有弹出框的, 又或者 “表格橡皮擦”这样的功能, 录制宏也无法得知具体的逻辑。
所以请问一下,VBA的这种重写word命令,是否有类似 执行被重写的原有逻辑的 功能?
'右侧插入列
Sub TableInsertColumnRight()
Dim custXML As String
Dim curTableName As String
custXML = GetCustXML() '获取配置的的表格名
curTableName = GetSelectedTableName() '获得当前所选表格名
'判断表格名,是否需要禁用按钮
If custXML = curTableName Then
MsgBox ("右侧插入列TableInsertColumnRight,该功能已禁用")
Else
Selection.InsertColumnsRight
End If
End Sub
|
|