ProgressBar tự tạo trong Excel (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

kieunhu91

Thành viên mới
Tham gia
7/3/11
Bài viết
15
Được thích
0
Vấn đề em muốn hỏi lần này cũng là về popup nhưng khác lần trước.
Càng tìm hiểu thì càng thấy Microsoft họ làm mọi thứ đều chuyên nghiệp.

Thỉnh thoảng khi chạy macro, có cảm giác như máy tính bị treo, thực ra thì lúc này chương trình đang chạy. Điều này cũng giống như khi ta copy hay delete một file trên máy tính, để tránh cho người sử dụng cảm giác sốt ruột, microsoft họ làm một cái popup mà chắc ai cũng biết.
Vì vậy, em muốn hỏi mọi người, liệu có thể tạo ra một popup với mục đích làm cho người sử dụng bớt sốt ruột hơn trong khi ngồi chờ chương trình chạy, giống như microsoft
1.gif


Ai biết xin chỉ giúp em với, em xin cảm ơn ạ.
 
Vấn đề em muốn hỏi lần này cũng là về popup nhưng khác lần trước.
Càng tìm hiểu thì càng thấy Microsoft họ làm mọi thứ đều chuyên nghiệp.

Thỉnh thoảng khi chạy macro, có cảm giác như máy tính bị treo, thực ra thì lúc này chương trình đang chạy. Điều này cũng giống như khi ta copy hay delete một file trên máy tính, để tránh cho người sử dụng cảm giác sốt ruột, microsoft họ làm một cái popup mà chắc ai cũng biết.
Vì vậy, em muốn hỏi mọi người, liệu có thể tạo ra một popup với mục đích làm cho người sử dụng bớt sốt ruột hơn trong khi ngồi chờ chương trình chạy, giống như microsoft


Ai biết xin chỉ giúp em với, em xin cảm ơn ạ.
Cái đó hổng phải là Popup (xin mod vui lòng sửa lại tiêu đề). Đó gọi là ProgessBar
Nguyên tắc chung để làm điều này là:
- Bạn phải biết trước tổng khối lượng công việc là bao nhiêu
- Bạn phải đếm được lượng công việc đã hoàn tất ở thời điểm hiện tai
- Lấy lượng công việc đã hoàn tất chia cho tổng khối lượng công việc, ra được tỉ lệ phần trăm
- Dùng bất cứ 1 control nào để thể hiện tỉ lệ phần trăm này
-----------------
File đính kèm dưới đây tôi dùng Label để thể hiện (giả lập ProgessBar)

untitled.JPG
 

File đính kèm

Upvote 0
Nói về ProgressBar có 2 cái rất hay của Tedaynui: Tạo ProgressBar bằng control và bằng form

To ndu:
ProgressBar của ndu là dùng form, nhưng có chút thời gian trễ:
Trong quá trình tìm, liệt kê và đếm cho vào biến, Progress bar chưa chạy. Chỉ khi bắt đầu add vào Listbox nó mới chạy.

Như vậy, nếu kết quả tìm kiếm có số lượng lớn, thì thời gian chờ khá lâu, trong khi thời gian chạy ProgressBar thì chỉ vèo 1 cái.
Muốn như ý, thì có thể sẽ phải đếm tổng số file hiện hữu trước, rồi đếm số file đã duyệt, tính tỷ lệ giữa 2 cái này trong sub tìm kiếm, chứ không phải tính tỷ lệ trong việc add file thoả điều kiện trong sub Add. (Chừa 1 vài % cho việc add, khà khà)
 
Upvote 0
Nói về ProgressBar có 2 cái rất hay của Tedaynui: Tạo ProgressBar bằng control và bằng form

To ndu:
ProgressBar của ndu là dùng form, nhưng có chút thời gian trễ:
Trong quá trình tìm, liệt kê và đếm cho vào biến, Progress bar chưa chạy. Chỉ khi bắt đầu add vào Listbox nó mới chạy.

Như vậy, nếu kết quả tìm kiếm có số lượng lớn, thì thời gian chờ khá lâu, trong khi thời gian chạy ProgressBar thì chỉ vèo 1 cái.
Muốn như ý, thì có thể sẽ phải đếm tổng số file hiện hữu trước, rồi đếm số file đã duyệt, tính tỷ lệ giữa 2 cái này trong sub tìm kiếm, chứ không phải tính tỷ lệ trong việc add file thoả điều kiện trong sub Add. (Chừa 1 vài % cho việc add, khà khà)
Sư phụ ơi, vấn rắc rối nằm ở chổ màu đỏ ấy ---> Vì khi em đếm được tổng số file thì cũng đồng nghĩa là em đã tìm được toàn bộ kết quả rồi
Cho dù có dùng đến cái Progress bar "zin" đi chăng nữa cũng vẫn bị tình trạng này thôi
Em cũng đã tìm hiểu bấy lâu về chuyện này và tìm ra được cách cho tốc độ nhanh hơn, đó là cách dùng lệnh DOS ---> Sẽ tốc độ nhanh = tốc độ search của Windows

untitled.JPG

File đính kèm này không tìm theo kiểu file mà tìm bất cứ từ khóa nào "khớp" với tên file
------------------------
Nói tóm lại:
- Để Progress bar chạy được thì phải biết TỔNG KHỐI LƯỢNG CÔNG VIỆC
- Có những bài toán mà TỔNG KHỐI LƯỢNG chỉ có được khi ta đi tìm TỪNG THÀNH PHẦN ---> Trường hợp này sẽ khiến cho Progress bar hiển thị không mấy chính xác
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Không biết API của Windows có thể đọc thông tin của folder không, vì bản thân 1 folder cũng là chỉ là 1 file chứa thông tin: tên folder, số lượng folder con, số lượng filechứa bên trong, vị trí vật lý của từng file và vị trí bản thân nó trong đĩa cứng (allocation No, section No, ...)
 
Upvote 0
Không biết API của Windows có thể đọc thông tin của folder không, vì bản thân 1 folder cũng là chỉ là 1 file chứa thông tin: tên folder, số lượng folder con, số lượng filechứa bên trong, vị trí vật lý của từng file và vị trí bản thân nó trong đĩa cứng (allocation No, section No, ...)
Em từng thắc mắc vấn đề này tại đây:
http://www.giaiphapexcel.com/forum/...-thư-mục-(bao-gồm-thư-mục-con)-với-tốc-độ-cao
Khi ta Properties 1 thư mục thì chính Windows cũng cần thời gian để load thông tin đấy thôi
Ngoài ra em rút kinh nghiệm rằng: Các lệnh thực thi trên 1 giao diện Text luôn nhanh hơn trong 1 giao diện đồ họa (chính thế mà có lẽ hổng có em nào qua mặt được DOS)
 
Upvote 0
Thanh Progress Bar trong Excel 2010

Em có 1 file sử dụng Progress Bar. Chạy trên Excel 2003, 2007 đều bình thường. Nhưng mở bằng 2010 nó lại báo như sau: "Can not load an object because it is not available on this machine".

Có cách nào sửa lỗi này không ah. Mong mọi người giúp đỡ.)(&&@@
 
Upvote 0
làm sao cho cái này chạy mượt hơn được không các anh chị
 

File đính kèm

Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom