问题:
| 如何用程序判断用户是否正在EXCEL某个单元格中进行编辑? 当用户正在进行单元格编辑的时候,有些操作是不允许的,会出错。如果不想在每段程序中用错误陷阱来做,该如何预先测试出用户是否正在单元格中进行编辑? |
回答:
| EXCEL没有内建方法或者属性说明用户是否正在某个单元格中进行编辑。因此采用以下两个方法绕过去。 1、判断新建保存文档工具栏按钮是否可用。如果不可用一般就是用户正在编辑单元格 2、通过更改交互状态来判断。 '<CSCM> '-------------------------------------------------------------------------------- ' ProjectName : assist911excel ' ComponentName : modPub ' ProcedureName : CellIsEditing ' VersionNumber : -- ' Description : Function ' 判断 EXCEL 当前是否正在某个单元格中进行编辑 ' Reference : Microsoft Excel 11.0 Object Library ' Parameters : editApp (Excel.Application) ' ReturnValue : 如果用户正在编辑返回true。 ' Demo : CellIsEditing(myExcelApplication) ' CreateDate : 2012-11-30 11:18:39 ' ModifyDate : 2012-11-30 11:18:39 ' ExampleURL : http://access911.net/?kbid;72FABF1E15DCE9F3 ' Author : cg1sh;cg1;access911 ' WebURL : http://access911.net ' EMail : access911@gmail.com ' copyright : 作者保留一切权力, ' 请在公布本代码时将本段说明一起公布,谢谢! '-------------------------------------------------------------------------------- '</CSCM> Function CellIsEditing(ByVal editApp As Excel.Application) As Boolean On Error Resume Next If editApp.Interactive = False Then CellIsEditing = True Else editApp.Interactive = False editApp.Interactive = True If Err <> 0 Then '错误 :1004 对象 'Interactive' 的方法 '_Application' 失败 Debug.Print Err.Number, Err.Description CellIsEditing = True Else CellIsEditing = False End If End If End Function |
|
本站文章旨在为该问题提供解决思路及关键性代码,并不能完成应该由网友自己完成的所有工作,请网友在仔细看文章并理解思路的基础上举一反三、灵活运用。
access911.net 原创文章,作者本人对文章保留一切权利。 如需转载必须征得作者同意并注明本站链接
|
|