Cho em hỏi có cách nào để file excel em quy định chỉ một số máy tính chỉ định mới mở được không?
Bạn có thể chỉ kĩ hơn cho mình được không? File cũng không có gì nhiều ngoài vài chục sheet. Mình muốn chỉ máy tính nào đó mở được thôi và khi mở có pass đăng nhập. Nhập đúng thì hiện hết các sheet ra. Cái mình muốn là chỉ định máy, nghĩa là nếu chỉ cho máy A mở thì máy B có pass user cũng không mở được.Tại sao bạn không dùng Form Đăng nhập nhỉ? Chủ động tạo User, khỏi phải kiểm tra các máy tính rồi cập nhật Computer User.
Bạn có thể chỉ kĩ hơn cho mình được không? File cũng không có gì nhiều ngoài vài chục sheet. Mình muốn chỉ máy tính nào đó mở được thôi và khi mở có pass đăng nhập. Nhập đúng thì hiện hết các sheet ra. Cái mình muốn là chỉ định máy, nghĩa là nếu chỉ cho máy A mở thì máy B có pass user cũng không mở được.
Hôm qua em cũng nghĩ mãi không nhớ, cứ nghĩ cái gì liên quan đến CPU. Cảm ơn anh nhé! Bài này em có đọc một lần. Để em mò thử.Ở diễn đàn này đã có bài nói về dùng số serial ổ cứng để xác định máy nào được mở file rồi. Chịu khó tìm.
Chú: tôi chỉ nhắc vậy thôi, chuyện bảo mật được hay không thì tuỳ theo quan điểm mỗi người.
Bạn tham khảo cách đọc ổ đĩa mình đang sử dụng nha. Tuy nhiên, cách bạn đang làm có thể không khoa học.Hôm qua em cũng nghĩ mãi không nhớ, cứ nghĩ cái gì liên quan đến CPU. Cảm ơn anh nhé! Bài này em có đọc một lần. Để em mò thử.
Sub GetSerialNumber()
MsgBox Abs(MySubFso.SerialNumber)
End Sub
Function MyFso()
Set MyFso = CreateObject("Scripting.FileSystemObject")
End Function
Function MySubFso()
Set MySubFso = MyFso.GetDrive(Environ("SystemDrive"))
End Function
Bạn tham khảo cách đọc ổ đĩa mình đang sử dụng nha. Tuy nhiên, cách bạn đang làm có thể không khoa học.
Mã:Sub GetSerialNumber() MsgBox Abs(MySubFso.SerialNumber) End Sub Function MyFso() Set MyFso = CreateObject("Scripting.FileSystemObject") End Function Function MySubFso() Set MySubFso = MyFso.GetDrive(Environ("SystemDrive")) End Function
Tùy theo mô hình công việc mà mình sẽ linh hoạt cho phù hợp. Người ngoài không thể có ý hay hơn người trong cuộc đâuVậy theo anh nên đi bước nào tốt hơn?
Bạn tham khảo cách đọc ổ đĩa mình đang sử dụng nha. Tuy nhiên, cách bạn đang làm có thể không khoa học.
Mã:Sub GetSerialNumber() MsgBox Abs(MySubFso.SerialNumber) End Sub Function MyFso() Set MyFso = CreateObject("Scripting.FileSystemObject") End Function Function MySubFso() Set MySubFso = MyFso.GetDrive(Environ("SystemDrive")) End Function
vẫn cái cũ màMới đổi Mainboard rồi anh.![]()
Vụ này là hiểu nhầm hội thoại thôi anh. "Em nói gà, anh ấy nói vịt".Hai thằng này có mao-que thả vào máy người ta để đọc được mấy cái sia-ri-ô hay sao đấy!
Theo tôi hiểu lời bài #13 thì bạn báo cho hắn là [thớt] đã thay mainboard. Và theo lời bài #14 thì hắn ta khẳng định là [thớt] chưa thay.Vụ này là hiểu nhầm hội thoại thôi anh. "Em nói gà, anh ấy nói vịt".
Anh ấy bảo dùng thông tin Mainboard
Ý em bảo là đổi (thay) Mainboard rồi, không dùng được File nữa.
Chắc VB6 thì cũng tựa tựa VBA anh nhỉ. Chỉ bê nguyên code viết trên VBA excel qua rồi tạo dll??vẫn cái cũ mà
Tám 1 tí
1/ Suy cho cùng Excel thì mật với mỡ cái gì ... khó nhất là Pass Open họ cũng mở ra đó chi
2/ dễ viết nhất là DLL VB6 mà nhiều người lại chê là đồ cổ ... mà hỏi lại có biết viết đồ cổ hay ko thì lại ko có biết
3/ chịu khó mò chút như mạnh thì viết Delphi đó là hàng mới thì keo khó không biết mò từ đâu và bắt đầu như thế nào
4/ có bạn Mạnh cho tài liệu Delphi hay giới thiệu link thì chê sách đó Web đó kiến thức quá cũ .... vãi kinh luôn
5/ có bạn hỏi mình nhờ Anh chỉ Delphi cho em 1 to 2 tháng gì đó là như anh ... Mình keo chỉ có qua Mỹ nó gắn cho con chíp vào não ấy cho nó nhanh
..................
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Nếu thế thì mình dựa vào cái BIOS Serial Number có lẽ được hơn thì phải?Mỗi lần cài win lại là số serial bị thay đổi. Cần phải chạy lại code để lấy serial mới.
Tìm trên GPE có hết rồiNếu thế thì mình dựa vào cái BIOS Serial Number có lẽ được hơn thì phải?
Cái này không bị thay đổi khi cài máy lại.
Có thể tham khảo ở đây để lấy BIOS Serial Number:
Get BIOS Serial Number by VBA
1/ Python thì Mạnh ko có biết ... trên GPE này cũng có nhiều thớt nói về nó mà suy cho cùng cũng chỉ nói cho vui vẻ thôi vì có thấy ai úp cái ứng dụng nào viết cho Excel = Python lên cho ta thử chơi mô ( khi nào có cái hay thì mạnh keo lại là xx )Các anh cho em hỏi thêm ngoài nhé. Em thường xuyên sử dụng Excel. Bây giờ em học thêm về Python hay về ngôn ngữ lập trình nào đó hỗ trợ mạnh cho cái này?
mình dùng code này... không biết có phải là get BIOS Serial Number không nhỉ?Tìm trên GPE có hết rồi
1/ code lấy BIOS Serial Number ==> chạy rất lâu
2/ Code lấy Serial main ấy chạy bay cái vèo
....
Tìm trên GPE là thấy
Function GetBIOSSerialNumber(Optional sHost As String = ".") As String
Dim oWMI As Object, oBIOSs As Object, oBIOS As Object
Dim sResult As String
Set oWMI = GetObject("WINMGMTS:{impersonationLevel=impersonate}!\\" & sHost & "\root\cimv2")
Set oBIOSs = oWMI.ExecQuery("SELECT SerialNumber FROM Win32_BIOS")
For Each oBIOS In oBIOSs
sResult = oBIOS.SerialNumber
If Len(Trim(sResult)) > 0 Then Exit For
Next
GetBIOSSerialNumber = Trim(sResult)
Set oBIOS = Nothing
Set oBIOSs = Nothing
Set oWMI = Nothing
End Function
Bạn thường xuyên xử dụng Ếch xào mà sử dụng ở mức độ nào ?Các anh cho em hỏi thêm ngoài nhé. Em thường xuyên sử dụng Excel. Bây giờ em học thêm về Python hay về ngôn ngữ lập trình nào đó hỗ trợ mạnh cho cái này?
Em thử thử sức với Dephil xem sao anh ạ. Nghĩ nghĩ mấy hôm nay mới chốtNếu muốn mở rộng ra thêm với Google Sheets thfi học JavaScript.
Tại sao bạn không dùng Form Đăng nhập nhỉ? Chủ động tạo User, khỏi phải kiểm tra các máy tính rồi cập nhật Computer User.