Bàn về cách thức lấy ý kiến bằng file excel macro

Euler

Administrator
Thành viên BQT
Tiếng anh là questionnaire , tiếng nhật là アンケート (anketo)
Như vấn đề đã nêu
Chúng ta suy nghĩ về việc thực hiện lấy ý kiến điều tra để không xảy ra xung đột dù số lượng người lớn như thế nào mà không xảy ra xung đột.
Kịch bản 1: Tối ưu, đảm bảo không xảy ra xung đột.
Người quản lý gửi file điều tra (có chứa macro) tới những người cần lấy ý kiến bằng mail hoặc thông qua mạng nội bộ (LAN) trong công ty.
Mọi người dùng file điều tra đã có sẵn macro, điền thông tin và ấn nút SEND trên file.
Macro sẽ tạo ra file mới chứa thông tin người dùng đã nhập thông tin điều tra, và tự động lưu file mới ứng với mã nhân viên, giả sử nhân viên có mã VIN06999 thì tạo ra file có tên là VIN06999.xls , được lưu vào link đã chỉ định, giả sử folder A trên sever nội bộ.
Như vậy sẽ không có xung đột truy cập như trước đây.
Đến ngày hạn định, người quản lý dùng file macro tổng hợp thông tin từ các file trong folder A.
Bạn cần đăng nhập để thấy hình ảnh

Điểm hạn chế: Sẽ cần một folder trên sever có dung lượng đủ để chứa file. Ví dụ công ty có 2000 nhân viên, mỗi file tạo ra có dung lượng 10kb.
Vậy ta cần một folder được cấp dung lượng khoảng 20Mb.
Khắc phục: file txt sẽ cho dung lượng nhỏ hơn .xls, vì vậy thay vì tạo ra .xls, macro có thể tạo ra .txt lưu lên folder A. Tuy nhiên cách này cũng đòi hỏi code phức tạp hơn một chút.
 

tuhocvba

Administrator
Thành viên BQT
Để mỗi người dùng tạo ra file có tên không trùng nhau thì có thể dựa vào mã nhân viên.
Để lấy được mã nhân viên thì hoặc là người dùng tự nhập vào trong file điều tra. Hoặc là macro tự lấy thông qua hàm Environ.
Hàm này cho phép lấy thông tin máy tính. Và vì thông thường mỗi nhân viên sẽ đăng nhập bằng mã nhân viên khi vào máy tính, cho nên nó có thể dùng để lấy thông tin nhân viên.
Mã:
Sub test()
   MsgBox Environ("COMPUTERNAME")
   MsgBox Environ("UserName")
   MsgBox Environ("UserDomain")
End sub
Để chặt chẽ, có thể kiểm tra folder A đã tồn tại file mà mình muốn tạo ra hay chưa thông qua hàm Dir(linkfile_setaora), tham khảo thêm
 
Top