好吧,所以我尝试将条形码扫描仪用于多种目的,但我遇到了这个问题,如果有人使用该扫描仪正在等待扫描到工作簿的电脑,则工作簿会失去焦点。我想设置一个计时器,在设定的时间间隔内检查或设置工作簿的焦点。问题如下;
从上图中,工作簿仅在第二张图像的状态下接受输入(其中图标没有重影)
我尝试了各种不同的方法将工作簿恢复为非幻影形式,例如;
'ThisFile = ActiveWorkbook.Name
'AppActivate (ThisFile)
'Sheets("Sheet1").Activate
'Windows("Book1").Activate
'Sheets("Sheet1").Range("A1") = x
'Application.WindowState = xlNormal
'Application.SendKeys "~", True
'ActiveWorkbook.Worksheets("Sheet1").Range("A1").Activate
'Sheets("Sheet1").Range("A1").Select
'AppActivate ActiveWorkbook.Windows(1).Caption
'Application.OnTime Now + TimeValue("00:0:30"), "ActivateExcel"
'AppActivate Application.Caption
我也尝试过 Chip Pearson 的解决方案之一,但也没有运气。 http://www.cpearson.com/excel/ActivateExcelMain.aspx
我没有解决方案。 (以及描述搜索问题的方法)
我需要的是使工作表变为活动状态,而无需物理单击工作簿,并接受正在等待输入的单元格的输入。
我意识到我可以通过表单来实现这一点(尽管我也不确定那里的焦点),但在实现之前我还有其他问题需要解决。
提前致谢。
冒着被否决的风险......这是对我有用的东西。 无论在 Windows 中单击什么,它都会持续激活工作簿。
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliSeconds As Long)
Sub test()
Do
AppActivate "Book1 - Excel", 1
DoEvents
Sleep 2000
Loop
End Sub