我已经为变革的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您保存的对话。
我无法重现开幕保存对话框的行为,也许这是你的办公区域/语言设置。
但我发现,为了禁用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
问题是,当它使用SendKeys "{F2}"
用Shift或Alt键或Ctrl的任意组合OnKey
不能正常工作。该解决使用F3与OnKey.thanks了很多的问题。