Tự động lấy ngày gán vào public biến

Liên hệ QC

phuoclocvl

Thành viên thường trực
Tham gia
28/3/12
Bài viết
220
Được thích
32
Dạ xin chào các anh chị em GPE.
Em có 1 vấn đề cần giúp đỡ .
Ví dụ: khi mở file excel lên nó tự động lấy ngày mở file và gán vào biến public luôn.

Public Gan as string
Gan="05/27/2020" ' ngày khi mở file
Giống như vậy á. Có cách nào không ạ.
Cảm ơn ạ,
 
Dạ xin chào các anh chị em GPE.
Em có 1 vấn đề cần giúp đỡ .
Ví dụ: khi mở file excel lên nó tự động lấy ngày mở file và gán vào biến public luôn.

Public Gan as string
Gan="05/27/2020" ' ngày khi mở file
Giống như vậy á. Có cách nào không ạ.
Cảm ơn ạ,
Vậy bạn khai báo 1 biến Public ở module.Rồi dùng sự kiện Workbook_Open() gán cho nó là được à.
 

File đính kèm

  • Book1.xlsm
    11.4 KB · Đọc: 9
Upvote 0
Vậy bạn khai báo 1 biến Public ở module.Rồi dùng sự kiện Workbook_Open() gán cho nó là được à.
Dạ, em khai báo biến vậy nhưng như bên dưới

Public Gan As String

Workbook_Open()
Gan = Date ' Nhưng em muốn không phải là biến nhớ mà nó lấy thẳng vào luôn ạ. Giống như vậy ạ mà em không biết làm thế nào cho nó hiểu ạ.Gan="05/27/2020"
End
 
Upvote 0
Thắc mắc: mở file lên thì nó lấy ngày mở file, làm cái gì? Và cái ngày mở lần trước để làm cái gì?
Trừ phi muốn biết là file có được mở suốt ngày này sang ngày khác.
 
Upvote 0
Lập một cái sheet mới. Đặt lại tên codename của nó là Sheet999.
Đặt nó trong trạng thái VeryHidden.
Mỗi lần mở file thì ghi ngày mở vào đó. Viết mthêm một sub để đọc sheet này.
 
Upvote 0
Đặt vấn đề không rõ ràng thì lâu lắm mới có đáp án như mong muốn. Vốn dĩ date của ngày hiện hành có thay đổi đâu mà đưa vô biến.
 
Upvote 0
Đặt vấn đề không rõ ràng thì lâu lắm mới có đáp án như mong muốn. Vốn dĩ date của ngày hiện hành có thay đổi đâu mà đưa vô biến.
Mâu thuẫn vậy đó. History là dữ liệu cứng (persistent data), nó chỉ sinh thêm ra chứ đâu có thay đổi được. Biến là động (dynamic data), đâu thể dùng làm cứng được.
Tôi nghĩ bài #6 trên là tôi đã đi quá trớn. Cõ lẽ thớt chỉ cần ghi ngày giờ mở và khoá sheet ấy lại, không cho sửa tay. Như vậy lúc nào cũng có thể đọc cái log.
 
Upvote 0
Mâu thuẫn vậy đó. History là dữ liệu cứng (persistent data), nó chỉ sinh thêm ra chứ đâu có thay đổi được. Biến là động (dynamic data), đâu thể dùng làm cứng được.
Tôi nghĩ bài #6 trên là tôi đã đi quá trớn. Cõ lẽ thớt chỉ cần ghi ngày giờ mở và khoá sheet ấy lại, không cho sửa tay. Như vậy lúc nào cũng có thể đọc cái log.
Dạ Cảm ơn Anh Viet mini. chỉ cần lưu lại ngày lần đầu mở file thôi ạ, phần còn lại em tự liệu .
 
Upvote 0
Xin cảm ơn các Anh

em đã làm được rồi :)
PHP:
Public Sub log_date()
Dim CodeLines As Long
   With ActiveWorkbook.VBProject.VBComponents("Func_main").CodeModule
        CodeLines = .CountOfLines - .CountOfLines
        .InsertLines CodeLines, _
            "Public function SaveinF() as string" & Chr(13) & _
            Chr(9) & " SaveinF=""" & Date & """ " & Chr(13) & _
            "End function"
    End With
End Sub
 
Upvote 0
Xin cảm ơn các Anh

em đã làm được rồi :)
PHP:
Public Sub log_date()
Dim CodeLines As Long
   With ActiveWorkbook.VBProject.VBComponents("Func_main").CodeModule
        CodeLines = .CountOfLines - .CountOfLines
        .InsertLines CodeLines, _
            "Public function SaveinF() as string" & Chr(13) & _
            Chr(9) & " SaveinF=""" & Date & """ " & Chr(13) & _
            "End function"
    End With
End Sub
Nếu một người khác (không phải bạn) đưa ra câu trả lời tương tự như thế này từ những gì bạn mô tả thì đúng là siêu nhân.
 
Upvote 0
Nếu một người khác (không phải bạn) đưa ra câu trả lời tương tự như thế này từ những gì bạn mô tả thì đúng là siêu nhân.
Chỉ có cái ngày mà thớt phải đi đến muywcs đọ chèn code thì ghê thật.
Nếu muốn chèn thì người ta chèn một cái hidden name cho nó khoẻ.
 
Upvote 0
Web KT
Back
Top Bottom