问题:Sendkeys后直接跟中文字符时,发现中文字符输出不了(显示为空)。为了解决这一问题,需要使用复制粘贴的方法。
详见代码:
Sub SimulatedInput()
Dim rv As Double
Dim DataObj As New MSForms.DataObject
rv = Shell("NOTEPAD.EXE", vbNormalFocus) '打开记事本
AppActivate rv '激活应用程序
Application.SendKeys "~", True '换行键
DataObj.SetText "本文为VBA代码模拟输入" '中文输入无法直接使用SendKeys语句,借助DataObj进行输入
DataObj.PutInClipboard
Application.SendKeys "^v", True
Application.SendKeys "~", True
Application.SendKeys "Excel VBA is AMAZING!", True
End Sub
前提条件:须在引用(VBE的“工具”菜单下)中勾选”Microsoft Forms 2.0 Object Library“选项。
输出效果: