Code lưu thời gian mở File Excel (1 người xem)

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

congnguyen88

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
22/7/14
Bài viết
355
Được thích
31
Tôi muốn khi tôi mở File Excel làm việc, thì làm sao sẽ lưu lại ( ngày , tháng , năm gì cũng được sau đó chuyển đổi sau ) số giờ đã sử dụng vào 1 ô Sheet1 A1 chẳng hạn. Ví dụ tôi mở File Excel từ 8h đến 10h thì số giờ sử dụng là 2h rồi sau đó tôi mở tiếp nửa từ 11h đến 13h giờ thì số giờ sử dụng sẽ là 4h ( cộng thêm 2 giờ lúc nảy ) Túm lại ngắn gọn 1 câu " Lưu lại số giờ từ khi mở File đến khi đóng file, nhưng phải cộng dồn lại các lần mở và đóng " . Và khi đóng File nếu quên lưu thì số giờ sử dụng vẫn lưu . Mong các bạn giúp đở mình. Xin cảm ơn
 
Tôi muốn khi tôi mở File Excel làm việc, thì làm sao sẽ lưu lại ( ngày , tháng , năm gì cũng được sau đó chuyển đổi sau ) số giờ đã sử dụng vào 1 ô Sheet1 A1 chẳng hạn. Ví dụ tôi mở File Excel từ 8h đến 10h thì số giờ sử dụng là 2h rồi sau đó tôi mở tiếp nửa từ 11h đến 13h giờ thì số giờ sử dụng sẽ là 4h ( cộng thêm 2 giờ lúc nảy ) Túm lại ngắn gọn 1 câu " Lưu lại số giờ từ khi mở File đến khi đóng file, nhưng phải cộng dồn lại các lần mở và đóng " . Và khi đóng File nếu quên lưu thì số giờ sử dụng vẫn lưu . Mong các bạn giúp đở mình. Xin cảm ơn
Bạn tham khảo code trong file này xem thế nào nhé!!!
 

File đính kèm

Upvote 0
"ah" thế thì phải lấy thời gian từ trên mạng xuống, nhưng khi ko kết nối được với Internet thì cũng ... :cc_surrender: ---> chắc buộc người dùng phải kết nối trước khi dùng File --=0
 
Upvote 0
Không được rồi anh ơi. Nếu thay đổi giờ hệ thống thì cũng như không
Vậy bạn muốn lấy thời gian ở đâu??? Đến ông Bill còn phải hiểu thời gian hoặc là hệ thống, hoặc là thời gian theo mạng cung cấp (thường là đồng bộ, nếu 2 thời gian này không khớp thì thậm chí bạn còn không vào gmail được).
 
Upvote 0
Vậy bạn muốn lấy thời gian ở đâu??? Đến ông Bill còn phải hiểu thời gian hoặc là hệ thống, hoặc là thời gian theo mạng cung cấp (thường là đồng bộ, nếu 2 thời gian này không khớp thì thậm chí bạn còn không vào gmail được).

Chắc là người ta muốn lấy giờ hệ thống thôi. Nhưng người ta muốn là khi người dùng thay đổi giờ hệ thống thì code phải "xử lý" được. Hiện thời code của bạn chưa xử lý được nên người ta kêu thôi.

Mà bạn để ý, trong yêu cầu của người hỏi tôi không thấy có yêu cầu chỉ ra "thời điểm" bắt đầu và kết thúc. Chỉ yêu cầu tính "khoảng" thời gian sử dụng. Thời điểm và khoảng là hai cái hoàn toàn khác. Bạn cung cấp cả "thời điểm" nên nếu người dùng thay đổi giờ hệ thống thì dĩ nhiên thời điểm kết thúc không đúng nữa.
-----------
@ congnguyen88: bạn đừng bận tâm khi có ai đó mỉa mai. Nhiều khi người ta không hiểu nên người ta mỉa mai.

1. Tập tin đính kèm tôi chỉ viết ở mức "biểu diễn" cho thấy là có thể làm được yêu cầu của bạn.
Còn chuyện có nên, có đáng làm thế không thì lại là chuyện khác. Tôi cũng không bàn tới chuyện có thể viết khác không. Cũng không quan tâm tới chuyện liệu code đã chuẩn chưa, lường được các trường hợp chưa. Tôi chỉ muốn chứng minh là việc của bạn hoàn toàn có thể làm được.

Tôi tạo ... vì không muốn động tới cửa sổ Application.Hwnd.

2. Khi bạn mở tập tin lên thì ở ô B1 sẽ có số giờ, phút, giây tổng cộng của những lần dùng trước. Chính vì thế khi tải về và mở tập tin thì bạn phải xóa nội dung của B1 để thống kê bắt đầu từ 0.

3. Tất nhiên kết quả có sai số. Trong Module2 có hằng interval = 5 (5 giây). interval càng nhỏ thì độ chính xác càng lớn.
 

File đính kèm

Upvote 0
Chắc là người ta muốn lấy giờ hệ thống thôi. Nhưng người ta muốn là khi người dùng thay đổi giờ hệ thống thì code phải "xử lý" được. Hiện thời code của bạn chưa xử lý được nên người ta kêu thôi.

Mà bạn để ý, trong yêu cầu của người hỏi tôi không thấy có yêu cầu chỉ ra "thời điểm" bắt đầu và kết thúc. Chỉ yêu cầu tính "khoảng" thời gian sử dụng. Thời điểm và khoảng là hai cái hoàn toàn khác. Bạn cung cấp cả "thời điểm" nên nếu người dùng thay đổi giờ hệ thống thì dĩ nhiên thời điểm kết thúc không đúng nữa.
-----------
@ congnguyen88: bạn đừng bận tâm khi có ai đó mỉa mai. Nhiều khi người ta không hiểu nên người ta mỉa mai.

1. Tập tin đính kèm tôi chỉ viết ở mức "biểu diễn" cho thấy là có thể làm được yêu cầu của bạn.
Còn chuyện có nên, có đáng làm thế không thì lại là chuyện khác. Tôi cũng không bàn tới chuyện có thể viết khác không. Cũng không quan tâm tới chuyện liệu code đã chuẩn chưa, lường được các trường hợp chưa. Tôi chỉ muốn chứng minh là việc của bạn hoàn toàn có thể làm được.

Tôi tạo ... vì không muốn động tới cửa sổ Application.Hwnd.

2. Khi bạn mở tập tin lên thì ở ô B1 sẽ có số giờ, phút, giây tổng cộng của những lần dùng trước. Chính vì thế khi tải về và mở tập tin thì bạn phải xóa nội dung của B1 để thống kê bắt đầu từ 0.

3. Tất nhiên kết quả có sai số. Trong Module2 có hằng interval = 5 (5 giây). interval càng nhỏ thì độ chính xác càng lớn.

Cảm ơn bạn đã nhiệt tình giúp đở mình, Mình nói ngắn gọn như vậy nhờ bạn viết theo ý mình
sub demthoigian()
- Khi mở File excel lên thì thời gian bắt đầu chạy 0,1,2..........khi nào đóng file thì thời gian sẽ dừng , và nó sẽ tự động copy thời gian ngay lúc dừng đó sang 1 ô A2 chẳng hạn
- Khi mở File excel các lần tiep theo thời gian củng chạy như lần đầu tiên nhưng cộng thêm thời gian ban đầu ( trước đó tại ô A2 )
endsub
 
Upvote 0
Cảm ơn bạn đã nhiệt tình giúp đở mình, Mình nói ngắn gọn như vậy nhờ bạn viết theo ý mình
sub demthoigian()
- Khi mở File excel lên thì thời gian bắt đầu chạy 0,1,2..........khi nào đóng file thì thời gian sẽ dừng , và nó sẽ tự động copy thời gian ngay lúc dừng đó sang 1 ô A2 chẳng hạn
- Khi mở File excel các lần tiep theo thời gian củng chạy như lần đầu tiên nhưng cộng thêm thời gian ban đầu ( trước đó tại ô A2 )
endsub

Ý bạn là 1, 2, 3 kia là số giây?

Excel được thiết kế để làm việc khác chứ không phải để chạy mấy dòng chữ hay làm cái đồng hồ. Mọi điện nước là dùng để làm việc.

Mà thực ra tôi không muốn can thiệp vào Excel. Code chỉ là để chứng minh là có thể làm được cái bạn muốn. Không nhất thiết phải làm trong Excel. Tốt nhất là viết một EXE bằng VB6 dùng để tính thời gian rồi khi tập tin được mở nó sẽ kích hoạt EXE kia. Tính thôi chứ mọi trò đồng hồ, hàng loạt chữ chạy, hàng loạt chữ nhấp nháy (gần đây có yêu cầu như thế), mầu sắc rực rỡ, các loại đó tôi không quan tâm.
 
Upvote 0
Cảm ơn bạn đã nhiệt tình giúp đở mình, Mình nói ngắn gọn như vậy nhờ bạn viết theo ý mình

Nếu bạn muốn xem chơi thì tải tập tin. Nhưng tôi khuyên nên từ bỏ những ý định như thế.
Code nmới không tạo gì cả mà dùng luôn cửa sổ Application. Gọi là đổi món.
 

File đính kèm

Upvote 0

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

Back
Top Bottom