停止显示与执行的SendKeys键码问题当保存对话框“{F2}”

问题描述 投票:0回答:2

我已经为变革的NumberFormat细胞进入AlHijri日历宏而且我已经通过安其方法调用。但按按键时,则出现在保存对话框中的宏executed.I已经尝试了许多按键。

Sub ToHijri()    
  With Selection
  .NumberFormat = "[$-1970000]B2dd/mm/yyyy;@"
  End With
Dim Cel As Range
Dim Selectedr As Range
   Set Selectedr = Application.Selection
   For Each Cel In Selectedr.Cells
 SendKeys "{f2}"
 SendKeys "{enter}"
   Next Cel
  'ThisWorkbook.Save
 End Sub

这一块用于呼叫的宏代码:

Private Sub Workbook_Activate()
Application.OnKey "%h", "ToHijri"
End Sub        

任何建议,以防止showing.thank您保存的对话。

excel vba
2个回答
1
投票

我无法重现开幕保存对话框的行为,也许这是你的办公区域/语言设置。

但我发现,为了禁用ALT +命令的默认行为,你必须通过一个Excel宏4隐藏功能区。

我的建议是考虑使用CTRL或其它按键,而不是Alt键。

在这里,他们说,禁止只Alt键是不可能的:https://techcommunity.microsoft.com/t5/Excel/VBA-for-deactivating-just-the-ALT-key/td-p/203577

见有解决方法的代码:

Private Sub Workbook_Activate()

    ' Assign the macro to Alt + H
    Application.OnKey "%h", "RunMacroName"

    ' Hide the Ribbon
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",false)"

End Sub



Private Sub Workbook_Deactivate()

    ' Back top it's normal state
    Application.OnKey "%h"

    ' Show back the Ribbon
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",true)"


End Sub

0
投票

问题是,当它使用SendKeys "{F2}"用Shift或Alt键或Ctrl的任意组合OnKey不能正常工作。该解决使用F3与OnKey.thanks了很多的问题。

© www.soinside.com 2019 - 2024. All rights reserved.