Cần giúp: Nhắc sinh nhật nhân viên ngoài màn hình desktop

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Chào mọi người,
Như tiêu đề, mình đang cần "làm" cái nhắc sinh nhật nhân viên công ty mình, khoảng 300 người. Mình có file Excel đầy đủ dữ liệu về họ tên, ngày sinh toàn bộ công ty rồi. Giờ mình muốn ngoài desktop máy tính mình ngày nào cũng hiển thị 7 ngày sắp tới là đến sinh nhật của những ai. Mình có tìm trên diễn đàn GPE thì chỉ thấy những file Excel theo dõi sinh nhật ngay trên file thôi. Mình cũng đã có file dạng ấy.
Tất nhiên dữ liệu trên file Excel thì mình cập nhật thường xuyên cho những biến động nhân sự của công ty.

Mọi người có giải pháp nào không?

Mình có 1 file mẫu xin đính kèm theo dưới đây.

Bạn lấy cái VBScript và danh sách sinh nhật này thử add vào task scheduler xem. Các lỗi về hiển thị tên tiếng Việt hoặc để thông báo trước n ngày thì từ từ tính sau

www.giaiphapexcel.com/diendan/threads/c%E1%BA%A7n-gi%C3%BAp-nh%E1%BA%AFc-sinh-nh%E1%BA%ADt-nh%C3%A2n-vi%C3%AAn-ngo%C3%A0i-m%C3%A0n-h%C3%ACnh-desktop.155362/post-1025809

À, em sửa đường dẫn được rồi. Giờ nhấn đúp vào file vbs nó hiện thông báo lỗi này nè anh:
258148

Nội dung code file vbs của anh đang như vầy:

'# Change with your file'
source_file = "C:Userstrilnq.tgDocumentsGPEanh MaikaDanhsachSN.txt"

'# Run sub'
notify_birthday(source_file)

Sub notify_birthday(byval file_path)
    Dim obj_fso, text_stream, next_days, ngaythang
    Dim stext, i, str_line
    Set obj_fso   = CreateObject("Scripting.FileSystemObject")
    Set text_stream = obj_fso.OpenTextFile(file_path,,,-2)
    next_days = 0 'Hôm nay là sinh nhật'
    'next_days = 1 'Ngày mai là sinh nhật'
    'next_days = 2 'Ngày kia là sinh nhật'
    stext = "Danh s" & ChrW(225) & "ch sinh nh" & ChrW(7853) & "t ng" & ChrW(224) & "y [" & Date + next_days & "]:"
    Do while not text_stream.AtEndOfStream
        line = text_stream.ReadLine  
        str_line = split(line, vbTab)
        x = Date + next_days
        ngaythang = split(Trim(str_line(1)), "/")
        if ubound(ngaythang) = 2 then
            If ngaythang(0) & "/" & ngaythang(1) = day(x) & "/" & month(x) Then
                i = i + 1
                stext = stext & Chr(10) & i & ". " & str_line(0)
            End If
        End If
    Loop
    Set obj_fso = Nothing
    msgbox stext,, "Th" & ChrW(244) & "ng b" & ChrW(225) & "o sinh nh" & ChrW(7853) & "t"
End Sub

Mà em muốn liệt kê ra 7 ngày sắp tới luôn á anh. Em thấy code mình có ngày mai với ngày mốt hà.

Thử xem file ở topic này nha bạn
www.giaiphapexcel.com/diendan/threads/chia-s%E1%BA%BB-t%E1%BA%A1o-th%C3%B4ng-b%C3%A1o-nh%E1%BA%AFc-nh%E1%BB%9F-khi-s%E1%BA%AFp-%C4%91%E1%BA%BFn-ng%C3%A0y-k%E1%BB%B7-ni%E1%BB%87m.155392/

Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM
Khóa học SprinGO phù hợp

Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM

Khóa học “Thiết kế Tổng phần thưởng (Total Reward) chuẩn khung SHRM” giúp bạn nắm vững toàn bộ hệ thống đãi ngộ theo chuẩn...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm