Excel AcroPDF VBA制表符

Excel AcroPDF VBA制表符,excel,vba,Excel,Vba,我有一个文本框1、标签1和AcroPDF1。我的目标是使用条形码扫描仪扫描物料编号。我在那个位置没有键盘或鼠标。条形码扫描仪在最后输入asci。这很好,但它会进入下一个索引。我尽一切努力不跳转到AcroPDF,但Tabstop已经为false,但它仍然跳转到PDF。所以我希望能够在任何时候扫描和一个特殊的pdf显示 Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer

我有一个文本框1、标签1和AcroPDF1。我的目标是使用条形码扫描仪扫描物料编号。我在那个位置没有键盘或鼠标。条形码扫描仪在最后输入asci。这很好,但它会进入下一个索引。我尽一切努力不跳转到AcroPDF,但Tabstop已经为false,但它仍然跳转到PDF。所以我希望能够在任何时候扫描和一个特殊的pdf显示

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
        If InStr(TextBox1.Value, "_") <> 0 Then
            TextBox1.Value = Left(TextBox1.Value, InStrRev(TextBox1.Value, "_", , vbTextCompare) - 1)
        End If
    Label1.Caption = TextBox1.Value
    TextBox1.Value = ""
    AcroPDF1.LoadFile "F:\APPS\Packaging\84260388.pdf"
End If
End Sub

谢谢

我不确定我是否正确阅读了这篇文章,但是一旦加载了PDF,您想将焦点设置回文本框吗?如果是这种情况,请在加载PDF后使用TextBox1.SetFocus方法。这会将光标设置回文本框。

在激活axAcroPDF控件后,如何将焦点设置回表单确实不是很清楚。这个问题在类似的线程中讨论。提供了3种解决方案,但在我看来,它们更像黑客,因为axAcroPDF ActiveX控件本身有一种相当不寻常的行为。恐怕最终在复杂和/或严肃的应用程序中使用此控件不是一个好主意。

我以前尝试过。它不会返回TextBox1。它仍然是PDF。我自己最终使用了定时器破解,在控件被激活后返回焦点。我的情况是,尽管控件似乎有一种奇怪的行为,但它仍然是显示PDF的最快解决方案-将PDF转换为GDI+可管理图像的时间非常重要,我使用了ImageMagick COM+组件