如何将形状存储到变量中?

发布于 2024-08-05 03:13:01 字数 370 浏览 6 评论 0原文

以下 Visio 宏(使用 VBA)旋转当前选定的形状:

ActiveWindow.Selection.Rotate90

如何将该形状存储到变量中?我尝试了下面的代码。

Dim s1 as Shape
Let s1 = ActiveWindow.Selection
s1.Rotate90

该代码无法编译,它在“选择”上给我一个“参数不可选”错误。

如果我将其更改为 Selection(0),我会收到运行时错误“无效的选择标识符”。

如果我尝试 Selection(1),我会得到“对象变量或未设置块变量”,我猜这是 VBA 抱怨选择中只有一个对象的方式。

The following Visio macro (using VBA) rotates the currently selected shape:

ActiveWindow.Selection.Rotate90

How can I store that shape into a variable? I tried the code below.

Dim s1 as Shape
Let s1 = ActiveWindow.Selection
s1.Rotate90

That code does not compile, it gives me a "argument not optional" error on "Selection".

If I change it to Selection(0) I get the runtime error "Invalid selection identifier".

If I try Selection(1) I get instead "Object variable or With block variable not set", which I'm guessing is VBA's way of complaining that there is only one object in the selection.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

郁金香雨 2024-08-12 03:13:01

这里应该使用 Set 而不是 Let。

You should use Set instead of Let here.

自此以后,行同陌路 2024-08-12 03:13:01

与使用 Set 而不是 Let 一样,选择也是一个选择对象,而不是一个形状。你可以使用:

Set s1 = ActiveWindow.Selection.PrimaryItem

As well as using Set instead of Let, the selection is a selection object, not a shape. You could use:

Set s1 = ActiveWindow.Selection.PrimaryItem
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文