Tính chênh lệch thời gian giữa hai máy (Microsoft Excel)
Don có một máy tính có quyền truy cập vào một số máy chủ khác nhau qua mạng văn phòng của mình. Các máy chủ này không được đồng bộ hóa đồng hồ và Don đã tự hỏi liệu có cách nào, trong VBA, để xác định sự khác biệt về thời gian giữa một máy chủ nhất định và máy của anh ấy hay không.
Để tìm ra sự khác biệt về thời gian, bạn sẽ cần xác định hai lần — một trên máy của bạn và một trên máy chủ — rồi so sánh chúng. Nhận thời gian trên máy của riêng bạn đủ dễ dàng; chỉ cần sử dụng chức năng Thời gian trong VBA. Xem thời gian trên máy khác khó hơn vì không có chức năng tích hợp nào hỗ trợ công việc này.
Tuy nhiên, bạn có thể sử dụng lệnh gọi hàm API để xác định thời gian trên máy chủ từ xa. Chính xác cách bạn sẽ phát triển một lời gọi hàm như vậy nằm ngoài phạm vi của mẹo này, nhưng bạn có thể tìm thấy một hướng dẫn khá tốt trên mạng để hoàn thành nhiệm vụ:
http://www.mvps.org/access/api/api0039.htm
Hãy xem trang và bạn có thể điều chỉnh mã để phù hợp với nhu cầu của mình.
Hàm fGetServerTime trả về một chuỗi chứa ngày và giờ đầy đủ. Sau đó, bạn có thể sử dụng hàm TimeValue trong macro của mình để chuyển đổi chuỗi này thành giá trị thời gian Excel gốc. Sau khi chuyển đổi, bạn có thể so sánh giá trị với thời gian hệ thống nội bộ để xác định sự khác biệt mà bạn cần.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (3258) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: