在Excel中以编程方式设置“select对象”光标
我努力找出如何以编程方式启用“select对象”游标types。 我检查了对象浏览器,并期望find像Application.CursorType
或Application.DrawingMode
属性。
macroslogging器中没有select更改光标types,我必须search错误的术语,因为我无法在任何地方find关于此的信息。
编辑:我应该说清楚,我不是说可以通过Application.Cursor
设置的光标外观。 相反,我想通过点击绘图工具栏上的“select对象”图标,将光标设置为可以通过GUI设置的相同模式。 这是只允许select形状并忽略单元格,文本和公式栏的光标。
其实,我从来不知道这个光标模式的正确名称,直到我检查工具提示写这个更新,也许这将有所帮助。
我不太理解为什么要这样做,但是可以通过执行内置的CommandBar控件以编程方式切换“select对象”绘图模式:
Call CommandBars("Drawing").Controls("Select Objects").Execute
你可以通过检查它的状态来确定当前的模式:
If CommandBars("Drawing").Controls("Select Objects").State Then Call Debug.Print("Select Object mode is on") End If
祝你好运!
这个链接有帮助吗?
这是一个简介:
在应用程序中,您有四个select:
- xlDefault
- xlWait
- xlBeam
- xlNorthwestArrow
你这样称呼它:
Application.Cursor = xlDefault
在forms上,你有更多的select。 看到更多的文章。
我不知道“绘图模式”是什么意思。 但是,如果要更改鼠标光标的外观,则您正在查找的属性是Application.Cursor
您可以将其设置为四个预定义值之一: xlWait, xlNorthwestArrow, xlIBeam
和xlDefault
。
如果您想要显示其他游标,请查看本文 ,了解如何在Access中显示自定义游标。 由于它使用WinAPI,所以解决scheme应该在Excel中平等地工作。
编辑:
回应你的编辑:我不认为有可能做你想做的事情。 macroslogging器没有拿起它,因为没有VBA命令可以做到这一点。 取决于你试图通过切换到devise模式来实现的目标,可能还有其他方法。
如果要防止用户更改工作簿中的数据,则可以使用Application.Visible
属性隐藏完整的Excel窗口。
如果您想让用户不要select或改变任何东西,但仍然显示数据,请查看ActiveSheet.Protect
或ActiveWorkbook.Protect
,可在“ 工具 – 保护”下find 。
如果要移动或调整工作簿中的某些控件的大小,可以通过更改控件的“ Left
,“ Top
,“ Height
和“ Width
属性以编程方式执行此操作,则无需切换到devise模式即可macros。
我对这个问题有点“迟到”,但这里是“他为什么要这样做”以及“他想做什么”的答案。
'Turn ON 'Select Objects' option during initial display. While ON, cell input is prevented. If CommandBars("Drawing").Controls("Select Objects").State = False Then CommandBars("Drawing").Controls("Select Objects").Execute End If
我在一个简单的定时器应用程序中使用它,在“ActiveSheet”显示器上有一个命令button和两个checkbox。 通过打开“select对象”,我将光标input目标限制为这三个项目。 单元格不能被选中。
干杯,劳伦斯