2011-06-16 51 views
0

我有一個Textbox1,Label1和一個AcroPDF1。我的目標是使用條碼掃描器並掃描材料編號。我在該位置沒有可用的鍵盤或鼠標。條形碼掃描儀在最後給出了一個Enter asci。這很好,但它使它進入下一個索引。我儘量不要跳到AcroPDF,但Tabstop已經是假的,但它仍然跳轉到PDF。所以我希望能夠隨時掃描並顯示特殊的pdf格式。AcroPDF VBA Tabstop

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 

感謝

回答

0

不知道如果我正確地讀這篇文章,但一旦PDF加載您要設置焦點回到文本框?如果是這種情況,請在PDF加載後使用TextBox1.SetFocus()方法。這會將光標移回文本框。

+0

我曾嘗試過。它不會回到TextBox1。它仍然與PDF。 – Patrik 2011-06-20 12:55:33

0

確實不太清楚如何在激活axAcroPDF控件後將焦點設置回表單。這個問題在this這樣的線程中討論過。有3個解決方案提供,但他們似乎更像黑客,因爲axAcroPDF ActiveX控件本身就是一種非常不尋常的行爲。我擔心(最終)使用這種控制與複雜和/或嚴重的應用程序不是一個好主意。

+0

我自己終於使用Timer hack在控件激活後返回焦點。在我的情況下,即使控件似乎有一個奇怪的行爲,它仍然是顯示PDF的最快解決方案 - 將PDF轉換爲GDI +可管理圖像的時間非常重要(我使用ImageMagick COM +組件) – 2012-04-20 15:19:02