我有一个工作簿"a",里面有一个宏,并设置了快捷键"Ctrl+Q",当我按"Ctrl+Q"时,会弹出一个表单,当我按下"ESC"时,表单会关闭,因为我添加了一个属性"Cancel"设置为TRUE
的按钮"CommandButton1"。
在代码中,我这样关闭表单:
Private Sub CommandButton1_Click()
Unload Me
End Sub
它运行良好,但问题是在关闭工作簿"A"之前,我无法切换到其他打开的工作簿,有人知道问题是什么吗?
非常感谢!
代码是这样的:
VERSION 5.00
Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} Get_Photo
Caption = "abc"
ClientHeight = 3120
ClientLeft = 45
ClientTop = 435
ClientWidth = 4710
OleObjectBlob = "Get_Photo.frx":0000
StartUpPosition = 1 'CenterOwner
End
Attribute VB_Name = "Get_Photo"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub CommandButton1_Click()
Unload Me
End Sub
Sub UserForm_Initialize()
With Get_Photo
.Caption = caption_Name
.Width = 430
.Height = 270
End With
With WebBrowser1
.Width = 540
.Height = 300
.Navigate ("www.google.com/images/logos/images_logo_lg.gif")
End With
End Sub
上面的表单包含一个网络浏览器和一个取消按钮。我在工作表中添加了一个按钮,宏代码为Get_Photo.Show
单击该按钮时,表单将显示,其中包含一张图片。但当我在按"ESC"后关闭表单时,我无法切换到其他xlsm工作簿,但xlsx工作簿可以。。
@SiddharthRout,我添加了更多的评论来重现这个问题——aaron 30分钟前
最后,我能够复制它:)让我检查一下,然后回复你。我无法切换到其他xlsm/xlsx工作簿。它一直给我看原始工作簿。Alt+Tab也拒绝工作。如果我按下命令按钮,它不会有任何例外Siddharth Rout 1分钟前编辑
我无法解释这种行为。这可能是一个错误(然而,我还没有看到任何关于它的文档)。
这将解决你的问题。(尝试并测试)
将这两行额外的代码放在工作表的按钮代码中,从您调用useeform的位置开始。
Private Sub CommandButton1_Click()
UserForm1.Show
Application.ShowWindowsInTaskbar = False
Application.ShowWindowsInTaskbar = True
End Sub
HTH-
Sid