VBA研究 進入文字框後其內容全選

2021-07-03 19:03:55 字數 1941 閱讀 7415

做乙個掃瞄核對工具,掃瞄的條碼在文字框中,表單中只有乙個用於掃瞄的文字框是有效的,另乙個文字框用於顯示核對正確時顯示貨品數量,不過這個文字框使用者是不能操作的,如下圖所示:

由於需要反覆掃瞄條碼,所以希望每次掃瞄時能覆蓋上次掃瞄的內容,這有兩種方法,一種是核對完畢後清除文字框的內容,另一種方法就是將內容全選,顯然,第二種方法較好,因為核對完畢後還可以看到上次掃瞄的內容,如果清空則有點怪怪的,看著不爽,設定全選的**如下:

。。。 

barcode = textbox1.value

。。。textbox1.selstart = 0

textbox1.sellength = len(barcode)

。。。 

附:完整的核對子程式

private sub textbox1_keydown(byval keycode as msforms.returninteger, byval shift as integer)

if keycode = 13 then

'取條碼值

barcode = textbox1.value

'該條碼是否本站貨品

for row2 = datline to maxrow2

if scan(row2) = barcode then

textbox2.value = qty(row2)

if cells(row2, 10) <> "ok" then

ok_no = ok_no + 1

cells(row2, 10) = "ok"

else

textbox2.value = "重複"

end if

exit for

end if

next row2

'如果沒有找到,檢查是否為箱碼,通過箱碼找到貨品條碼再次核對

if userform1.checkbox1.value and row2 > maxrow2 then

'找箱碼對應條碼

for k = 1 to maxrowbox

if scanbox(k, 2) = barcode then

barcode = scanbox(k, 1)

exit for

end if

next k

if k <= maxrowbox then

'找到箱碼對應貨品條碼,再次核對

for row2 = datline to maxrow2

if scan(row2) = barcode then

textbox2.value = qty(row2)

if cells(row2, 10) <> "ok" then

ok_no = ok_no + 1

cells(row2, 10) = "ok"

else

textbox2.value = "重複"

end if

exit for

end if

next row2

end if

end if

'貨品條碼和箱碼均不是

if row2 > maxrow2 then

tmp = msgbox("本條碼非本站貨品,條碼:" & barcode, vbokonly + vbexclamation, "iamlaosong")

textbox2.value = ""

errno = errno + 1

end if

textbox1.selstart = 0

textbox1.sellength = len(barcode)

'textbox1.value = ""

end if

end sub

文字框輸入值後延遲觸發

目的 當我在輸入框輸入內容的時候,就進行ajax搜尋。現在是每次輸入乙個就搜尋,輸入1就搜尋一次 輸入12,就搜尋了兩次。就我想延遲0.5執行,這樣 如果在0.5內輸入12的時候就ajax只請求一次,減小了伺服器的壓力。計畫生產數量 件 function orchange else machinen...

文字框日曆

建立頭部 document.write 734 8 建立星期條目 document.write for i 0 i 7 i document.write week i document.write 建立日期條目 document.write for i 0 i 6 i document.write ...

文字框排版

文字框排版 我們之前學看文件的排版設定技巧,那麼還有乙個是文字框的排版設定,除了前面介紹到的段落排版以外,我們經常用到的還有文字框的排版,文字框排版在現實當中實踐應用包括了年會主持詞製作手卡的一些工作場景,那麼我們接下來就製作一下,首先在乙個空白文件中我們插入乙個文字框。插入文字框之後,清楚當中的預...