3

我正在努力找出如何以编程方式启用“选择对象”光标类型。我检查了对象浏览器并希望找到类似Application.CursorTypeor的属性Application.DrawingMode

在宏记录器中没有选择更改光标类型,我必须搜索错误的术语,因为我无法在任何地方找到有关此的信息。

编辑:我应该明确表示我不是在谈论可以通过设置的光标外观Application.Cursor。相反,我想通过单击绘图工具栏上的“选择对象”图标将光标设置为可以通过 GUI 设置的相同模式。这是只允许选择形状并忽略单元格、文本和编辑栏的光标。

实际上,在我检查工具提示以编写此更新之前,我从来不知道此光标模式的正确名称,也许这会有所帮助。

4

4 回答 4

3

我不太明白你为什么要这样做,但你可以通过执行内置的 CommandBar 控件以编程方式切换“选择对象”绘图模式:

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

祝你好运!

于 2009-05-17T00:01:19.620 回答
1

我在这个问题上有点“迟到”,但这里是“他为什么要这样做”以及“他想做什么”的答案。

'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”显示屏上有一个命令按钮和两个复选框。通过打开“选择对象”,我将光标输入目标限制为这三个项目。无法选择单元格。

干杯,劳伦斯

于 2014-04-08T16:09:37.447 回答
0

这个链接会有帮助吗?

这是一个概要:

在应用程序中,您有四个选择:

  • xl默认
  • xl等待
  • xlBeam
  • xl西北箭头

你这样称呼它:

Application.Cursor = xlDefault

通过表格,您有更多选择。有关更多信息,请参阅文章。

于 2009-05-15T10:01:02.300 回答
0

我不知道您所说的“绘图模式”是什么意思。但是,如果您想更改鼠标光标的外观,您正在寻找的属性是Application.Cursor

您可以将其设置为四个预定义值之一:xlWait, xlNorthwestArrow, xlIBeamxlDefault

如果要显示其他光标,请查看这篇文章,了解如何在 Access 中显示自定义光标。由于它使用 WinAPI,因此该解决方案应该在 Excel 中同样有效。

编辑:

回应您的编辑:我认为不可能做您想做的事。宏记录器没有拾取它,因为没有 VBA 命令可以做到这一点。根据您通过切换到设计模式来尝试实现的目标,可能还有其他方法。

如果要阻止用户更改工作簿中的数据,可以使用该Application.Visible属性隐藏完整的 Excel 窗口。

如果您想阻止用户选择或更改任何内容,但仍显示数据,请查看ActiveSheet.ProtectActiveWorkbook.Protect,在Tools - Protection下可用。

如果要移动工作簿中的某些控件或调整其大小,可以通过更改控件的 、 和 属性以编程方式执行Left此操作Top,无需切换到设计模式即可从宏中执行此操作。HeightWidth

于 2009-05-15T10:01:03.377 回答