máy bạn chạy office 64bit à? nếu vậy thì thử file này xem sao nhé, tôi chạy 32bit nên ko test đcEm tai phai quản lý công văn bằng excel về máy nhưng do máy sử dụng excel 2013 nên mở ra bị báo lỗi. Nhờ các anh chị giúp dùm với ạ, Chân thành cảm ơn.
Vẫn không được ban ơimáy bạn chạy office 64bit à? nếu vậy thì thử file này xem sao nhé, tôi chạy 32bit nên ko test đc
Sao không viết cụ thể lỗi là gì, sảy ra khi nào? Tốt nhất là liệt kê ra một loạt thao tác mà cuối cùng bị lỗi. Đừng kiểu bắt người khác đoán mò, mò kim đáy biển.Em tai phai quản lý công văn bằng excel về máy nhưng do máy sử dụng excel 2013 nên mở ra bị báo lỗi.
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
#If VBA7 Then
#If Win64 Then
Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#Else
Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#End If
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
#Else
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
#End If
Sao không viết cụ thể lỗi là gì, sảy ra khi nào? Tốt nhất là liệt kê ra một loạt thao tác mà cuối cùng bị lỗi. Đừng kiểu bắt người khác đoán mò, mò kim đáy biển.
Thử xóa hết trong Module2 đoạn
Mã:Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
và thay bằng
Mã:#If VBA7 Then #If Win64 Then Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr #Else Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr #End If Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr #Else Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long #End If
Có nghĩa cụ thể là lỗi khi thao tác thế nào, lỗi gì? Khi có lỗi chắc phải có thông báo chứ. Tôi đâu có rỗi hơi, cũng chả có hứng đoán mò. Trích code làm gì khi tôi đã thấy chúng trong tập tin.Giờ nó hiện bảng lỗi sau nè bạn, nhờ bạn giúp mình nhé
Giống như đi khám bệnh nhưng bác sĩ hỏi đau ở đâu không nói.Có nghĩa cụ thể là lỗi khi thao tác thế nào, lỗi gì? Khi có lỗi chắc phải có thông báo chứ. Tôi đâu có rỗi hơi, cũng chả có hứng đoán mò. Trích code làm gì khi tôi đã thấy chúng trong tập tin.
Xin lỗi vì thực tình tôi không biết về cái này, khi mở file ra nó hiện bảng báo lối như sauCó nghĩa cụ thể là lỗi khi thao tác thế nào, lỗi gì? Khi có lỗi chắc phải có thông báo chứ. Tôi đâu có rỗi hơi, cũng chả có hứng đoán mò. Trích code làm gì khi tôi đã thấy chúng trong tập tin.
Nói chung là code hổ lốn. Trong các UserForm đều gọi sub MinMax từ Module2 để thiết lập style cho cửa sổ (thêm nút Min, Max trên thanh tiêu đề cửa sổ và cho phép kéo các cạnh cửa sổ), nhưng lại khai báo lại trong chúng các hàm API rồi thiết lập lại style. Tôi đã đá đít tất cả các khai báo và gọi hàm API trong các UserForm.Xin lỗi vì thực tình tôi không biết về cái này, khi mở file ra nó hiện bảng báo lối như sau
Cảm ơn bạn rất nhiều nhéNói chung là code hổ lốn. Trong các UserForm đều gọi sub MinMax từ Module2 để thiết lập style cho cửa sổ (thêm nút Min, Max trên thanh tiêu đề cửa sổ và cho phép kéo các cạnh cửa sổ), nhưng lại khai báo lại trong chúng các hàm API rồi thiết lập lại style. Tôi đã đá đít tất cả các khai báo và gọi hàm API trong các UserForm.
Thực ra chuyện thay đổi style chỉ là son phấn, nhưng tôi để nguyên code trong Module2 và các call MinMax trong các UserForm.
Tôi có cảm giác code không được "đẹp" cho lắm nhưng tôi không có hứng viết lại.