Trang 1 của 3 123 CuốiCuối
Kết quả 1 đến 10 của 30

Chủ đề: Làm thế nào để không bị bôi đen (chọn) giá trị mặc định trong INPUTBOX ???

  1. #1
    kenshin Guest
    [QUOTE="hoi_joker"]Trường hợp thế này không đạt yêu cầu, vậy phải làm sao?


    Mã:
    Function udfInputBox(ByVal Prompt As String, _
                Optional ByVal Title As String, _
                Optional ByVal DefaultValue As Variant) As Variant
            SendKeys "{RIGHT}"
            udfInputBox = InputBox(Prompt, Title, DefaultValue)
    End Function
    <pre class="bbcode_code" style="height:108px;">Sub test2()
    Dim i
    Application.Visible = False
    i = udfInputBox("Prompt", "Title", "Hoang Trong Nghia")
    MsgBox i
    Application.Visible = True
    End Sub</pre>
    </div>

  2. #2
    phuonglan11 Guest
    Trích dẫn Gửi bởi VICOSACP
    Khi đã ẩn Application (Excel) thì đâu còn nhận SendKeys được nữa.
    Tạm thời chữa cháy thì bạn đổi vị trí 2 dòng này cho nhau: Application.Visible = False sau
    SendKeys "{RIGHT}", False

    Còn nếu code dài hoặc nhiều inputbox thì chắc phải viết 1 hàm CUSTOM INPUTBOX không bôi đen giá trị Default value. Trình độ mình có hạn, để nghiên cứu tiếp và trả lời bạn nếu có thể ...
    Cái vụ màu xanh này tôi mới biết đó nha! Ẩn Excel thì có liên quan gì đến SendKeys chứ!

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi Hoàng Trọng Nghĩa
    Cái vụ màu xanh này tôi mới biết đó nha! Ẩn Excel thì có liên quan gì đến SendKeys chứ!
    Máy mình cài WIN7 32bit -Excel 2003 chạy vẫn bị bôi đen khi Application.Visible = False (kể cả dùng hàm udfinputbox của Nghĩa). Vậy có phải Excel 2003 có vấn đề ??? Bạn nào dùng Office 2003 test giùm?
    Mình ít dùng SendKeys nên mình suy luận: Nếu cửa sổ Excel ẩn (không active) thì SendKeys tương tự như bấn phím trên bàn phím nó không tác động vào cửa sổ Excel (khi đó chỉ có inputbox xuất hiện thôi). Kiến thức còn hạn chế. Mong các bạn hướng dẫn ...

  4. #4
    anhvanit Guest
    Trích dẫn Gửi bởi VICOSACP
    Máy mình cài WIN7 32bit -Excel 2003 chạy vẫn bị bôi đen khi Application.Visible = False (kể cả dùng hàm udfinputbox của Nghĩa). Vậy có phải Excel 2003 có vấn đề ???
    Mình ít dùng SendKeys nên mình suy luận: Nếu cửa sổ Excel ẩn (không active) thì SendKeys tương tự như bấn phím trên bàn phím nó không tác động vào cửa sổ Excel (khi đó chỉ có inputbox xuất hiện thôi). Kiến thức còn hạn chế. Mong các bạn hướng dẫn ...
    Mình đã thử trên Excel 2003 và WinXP đây. Không bị như bạn nói. Vậy lý do gì mỗi máy mỗi khác nhau?

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi Hoàng Trọng Nghĩa
    Mình đã thử trên Excel 2003 và WinXP đây. Không bị như bạn nói. Vậy lý do gì mỗi máy mỗi khác nhau?
    Win7 - Excel 2003: Máy mình cũng bị bôi đen khi ẩn Excel đi? sao vậy nhỉ?

  6. #6
    djshinoda Guest
    Trích dẫn Gửi bởi Hoàng Trọng Nghĩa
    Mình đã thử trên Excel 2003 và WinXP đây. Không bị như bạn nói. Vậy lý do gì mỗi máy mỗi khác nhau?
    Mình dùng Office 2010 32 bit + Win 7 32 bit ---> Bị bôi đen

  7. #7
    apk4downloader Guest
    @ Nghĩa: Bạn để thử trong Workbook_open() xem có bị bôi đen không?

    Mã:
    Private Sub Workbook_Open()
    Dim i
    Application.Visible = False
        SendKeys "{RIGHT}", False
        i = InputBox("Promt", "Title", "abc"))
        Msgbox i
    Application.Visible = True
    End Sub
    Có cách nào khắc phục không?

  8. #8
    thienho Guest
    Trích dẫn Gửi bởi ndu96081631
    Mình dùng Office 2010 32 bit + Win 7 32 bit ---> Bị bôi đen
    Lạ thật, em thử trên Win7 lẫn WinXP đều 32bit, X2003 lẫn X2007 đều không có vấn đề gì cả!

  9. #9
    manhdc Guest
    Trích dẫn Gửi bởi hoi_joker
    Phải làm như thế nào để khi chạy thì giá trị DEFAULT VALUE của inputbox không "bị" chọn như hình dưới (không bị bôi đen "abc" mà con chuột nháy sau chữ c). Mục đích là khi người dùng đánh vào luôn có mặc định "abc" ở đầu (không muốn dùng if hay các hàm xử lý chuỗi, kiểm tra điều kiện).
    kết quả mong muốn ===>
    Người test không bị bôi đen còn người khác test lại bị ---> Chẳng biết đâu mà lần
    -----------
    Hic... tôi thấy thôi thì bạn suy nghĩ hướng khác cho gon: Dẹp cha nó cái Default Value đi, cứ để Input trống, người dùng nhập vào bình thường, xong việc bạn xử lý kết quả bằng cách nối thêm thằng Default value gì đó vào kết quả cũng được vậy
    Ví dụ:
    - Bạn có Default Value là "ABC"
    - Res = InputBox(.... gì gì đó...)
    - Sau khi bấm OK, bạn thêm dòng code Res = "ABC" & Res
    Vậy là xong!
    Sendkey send cỏ gì cho mệt (mà thực chất ai thường xuyên viết code sẽ "kỵ" cái thằng Sendkey này lắm)

  10. #10
    phaman Guest
    Trích dẫn Gửi bởi ndu96081631
    Người test không bị bôi đen còn người khác test lại bị ---> Chẳng biết đâu mà lần
    -----------
    Sendkey send cỏ gì cho mệt (mà thực chất ai thường xuyên viết code sẽ "kỵ" cái thằng Sendkey này lắm)
    Mình test thấy ko nhận SendKeys khi Ẩn Excel nên cũng muốn tìm hiểu sao lại thế?
    @ các bạn: có thể cho 1 file ví dụ nếu Application.Visible = False mà Sendkeys vẫn dùng được với EXCEL không, nhiều trường hợp dùng Sendkeys sẽ rất tiện chứ

Trang 1 của 3 123 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •