gpt4 book ai didi

vba - 如何恢复被困在框架边缘之外的控件?

转载 作者:行者123 更新时间:2023-12-02 11:28:09 26 4
gpt4 key购买 nike

这仅影响框架,我只在 Excel 11 中遇到过它,但由于这显然是一个错误,因此可能已在我尚未尝试过的更高版本中修复。如果您经常使用 Frames,这最终会咬住您。

问题

从一个框架和该框架中包含的任何其他控件开始,比如说标签。捕获标签的右边缘(交叉箭头)并将其拖动到框架的左边框上,直到您看到其虚线轮廓出现在框架之外。然后,在不释放鼠标的情况下,将其向边框拖回,直到轮廓消失,然后释放鼠标。

你会发现你的标签消失了。它被困在看不见的地方,无法带回来。只是放大框架并不能显示出来。这与框架的顶部边框的工作方式完全相同,捕获标签的底部边框将其向上和向后拖动。

它的工作原理与框架的底部和右侧边框类似,但在这里您可以通过放大框架来恢复标签。但上边框和左边框则不然。

可以通过选项卡找到缺少的标签(它显示在“属性”下拉列表中),但这不会选择它,并且无法删除它,因为无法选择它。单击属性下拉列表中的标签名称不会执行任何操作。

如果您知道哪个框架吞没了标签(正如我们在本示例中所做的那样),并且如果您知道它位于该框架的哪个边框下(正如我们在本示例中所做的那样)在此示例中执行),那么有一种方法可以恢复丢失的标签。但很多时候情况并非如此。除非您确实看到标签消失,否则它很容易被忽视,特别是当框架相互重叠时。

恢复标签(从已知框架上的已知边框下)的一种方法是使用 Stephen Bullen 的 VBE 工具,(即使不考虑这个问题,如果您没有安装这个精彩的插件,您应该)。单击框架一次(您知道隐藏了某些内容),然后从编辑菜单中选择全部(Ctrl + A 对此不起作用)。然后按住Alt-right + 箭头(因为这里知道丢失的Label位于LH边框下方),然后看着Label羞涩地从Frame边框下方爬出。这比仅仅选择全部并将所有控件拖动到右侧要好,因为它可以让您通过相反的过程将所有其他控件替换到其原始位置(Alt-Left + 箭头),直到事情看起来再次正常。如果您需要将其他控件像素完美地恢复到其原始位置,只需计算右箭头点击次数,处理恢复的标签,再次选择全部,然后进行相同次数的左箭头点击即可。

问题

1)如果我不知道它位于哪个框架下,如何找到并恢复和/或删除以这种方式被框架捕获的控件?

最佳答案

您可以针对表单运行一个简单的宏来发现(并删除、移动,无论您喜欢什么)隐藏的控件

Private Sub UserForm_Click()
Dim ctrl As Control

For Each ctrl In Me.Controls
If ctrl.Left + ctrl.Width < 0 Or ctrl.Top + ctrl.Height < 0 Then
Debug.Print ctrl.Name & " " & ctrl.Parent.Name
End If
Next
End Sub

关于vba - 如何恢复被困在框架边缘之外的控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6240497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com