如何让Excel工作簿/工作表成为焦点?

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

好吧,所以我尝试将条形码扫描仪用于多种目的,但我遇到了这个问题,如果有人使用该扫描仪正在等待扫描到工作簿的电脑,则工作簿会失去焦点。我想设置一个计时器,在设定的时间间隔内检查或设置工作簿的焦点。问题如下;

Not in focus

In focus

从上图中,工作簿仅在第二张图像的状态下接受输入(其中图标没有重影)

我尝试了各种不同的方法将工作簿恢复为非幻影形式,例如;

'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

我没有解决方案。 (以及描述搜索问题的方法)

我需要的是使工作表变为活动状态,而无需物理单击工作簿,并接受正在等待输入的单元格的输入。

我意识到我可以通过表单来实现这一点(尽管我也不确定那里的焦点),但在实现之前我还有其他问题需要解决。

提前致谢。

excel vba barcode-scanner
1个回答
0
投票

冒着被否决的风险......这是对我有用的东西。 无论在 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
© www.soinside.com 2019 - 2024. All rights reserved.