Em cũng làm chơi 1 cái chuyển mã như thầy. do mắt thẩm mỹ kém nên giao diện không hay bằng thầy.
thầy xem UseForm đọc số của em vậy đc chưa thầy. tổng quát hơn không. em làm mãi mà không thể làm phím dán giá trị như thầy được nó toàn xuất ra giá trị rỗng không à. thầy góp ý giúp em.
à thầy chỉ em cách nào lấy được list danh sách trong 1 sheet đưa lên thanh Robbin được không thầy. chỉ cần sửa trong sheet chứa list thì trên thanh robbin cũng cập nhật theo luôn. hoặc thầy có thể cho em face hay zalo gì không. em có mấy vấn đề thắc mắc về cái thanh Robbin này lắm.
Hàm đọc số của bạn bị lỗi ngay biến "ll", nhưng không thông báo do bạn dùng lệnh On Error Resume Next ở thủ tục Private Sub OK_Click(). Bạn có thể check thử đọc số 0 ở hàng chục là linh thử xem.
Tôi đã thêm code dán giá trị vào (Kiểu Uni) bạn tự tham khảo nhé và sửa các kiểu khác.
thầy chỉ em cách nào lấy được list danh sách trong 1 sheet đưa lên thanh Robbin được không thầy. chỉ cần sửa trong sheet chứa list thì trên thanh robbin cũng cập nhật theo luôn.
Bây giờ Office 64bit cũng dần phổ biến lắm rồi! Mong tác giả hỗ trợ cho phiên bản mới này với! Thực sự có rất nhiều người cần đó ạ! Bác đã ngâm cứu xong cho bản 32bit rồi mong hãy bớt chút thời gian cho bản 64 bit cho những người như chúng em được xài cùng với ạ! - Dẫu biết để làm thì tác giả phải cài lại Win 64bit và Office 64bit, có chút mất thời gian, hi vọng tác giả sẽ khắc phục được!
Bây giờ Office 64bit cũng dần phổ biến lắm rồi! Mong tác giả hỗ trợ cho phiên bản mới này với! Thực sự có rất nhiều người cần đó ạ! Bác đã ngâm cứu xong cho bản 32bit rồi mong hãy bớt chút thời gian cho bản 64 bit cho những người như chúng em được xài cùng với ạ! - Dẫu biết để làm thì tác giả phải cài lại Win 64bit và Office 64bit, có chút mất thời gian, hi vọng tác giả sẽ khắc phục được!
Cảm ơn các bạn đã quan tâm, nhưng vấn đề ở đây không đơn giản như các bạn nghĩ đâu. Mình cũng đang tìm hiểu để lập trình trên Excel 64bit đây, nhưng sau những lệnh trên 64bit có gì đó khác so với 32bit. Mình cũng nhờ anh Nguyễn Duy Tuân chỉ giáo nhưng vẫn chưa tìm ra được giải pháp.
Để vài ngày nữa rảnh cài lại máy bản 64 bit thử xem có cải tiến được gì không.
Cảm ơn các bạn đã quan tâm, nhưng vấn đề ở đây không đơn giản như các bạn nghĩ đâu. Mình cũng đang tìm hiểu để lập trình trên Excel 64bit đây, nhưng sau những lệnh trên 64bit có gì đó khác so với 32bit. Mình cũng nhờ anh Nguyễn Duy Tuân chỉ giáo nhưng vẫn chưa tìm ra được giải pháp.
Để vài ngày nữa rảnh cài lại máy bản 64 bit thử xem có cải tiến được gì không.
bạn muốn cho addin chạy trên 2 hệ 64 bit và 32bit thì cần sửa như vầy . tôi ví dụ đại khái cho 2 hàm api . các chỗ khác bạn sửa tương tự
Mã:
#If Win64 Then
Private Declare PtrSafe Function GetActiveWindow Lib "user32" () As Long
Private Declare PtrSafe Function MessageBoxW Lib "user32" (ByVal HWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
#Else
Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Declare Function MessageBoxW Lib "user32" (ByVal HWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
#End If
máy tôi là 64 bit nên phần trong else sẽ có màu đỏ nhưng không sao . chương trình vẫn chạy
riêng hàm DefWindowProcW thì sửa như vầy
Mã:
#If Win64 Then
Private Declare PtrSafe Function DefWindowProcW Lib "user32" (ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As [COLOR=#ff0000][B]LongPtr[/B][/COLOR]) As Long
#Else
Private Declare Function DefWindowProcW Lib "user32" (ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As LongPtr) As Long
#End If
vì hàm StrPtr(sUniText) trên máy 64bit trả về kiểu LongLong
ngoài hằng số Win64 ra thì còn có hằng số VBA7 nữa
VBA7 để check máy sử dụng office 2010 trở lên
office 2010 trở lên thì từ khóa Ptrsafe được dùng chung cho cả 2 hệ 32 bit và 64 bit
office 2007 trở xuống thì không có từ khóa Ptrsafe , LongPtr ,....
đại khái tôi sửa mấy chỗ đó thì máy 64bit như tôi chạy được . chưa dám nói là đã test hết 100% addin
bạn có thể sửa lại như trên xem có bị lỗi trên office 32 bit không nhé
bạn muốn cho addin chạy trên 2 hệ 64 bit và 32bit thì cần sửa như vầy . tôi ví dụ đại khái cho 2 hàm api . các chỗ khác bạn sửa tương tự
Mã:
#If Win64 Then
Private Declare PtrSafe Function GetActiveWindow Lib "user32" () As Long
Private Declare PtrSafe Function MessageBoxW Lib "user32" (ByVal HWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
#Else
Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Declare Function MessageBoxW Lib "user32" (ByVal HWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
#End If
máy tôi là 64 bit nên phần trong else sẽ có màu đỏ nhưng không sao . chương trình vẫn chạy
riêng hàm DefWindowProcW thì sửa như vầy
Mã:
#If Win64 Then
Private Declare PtrSafe Function DefWindowProcW Lib "user32" (ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As [COLOR=#ff0000][B]LongPtr[/B][/COLOR]) As Long
#Else
Private Declare Function DefWindowProcW Lib "user32" (ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As LongPtr) As Long
#End If
vì hàm StrPtr(sUniText) trên máy 64bit trả về kiểu LongLong
ngoài hằng số Win64 ra thì còn có hằng số VBA7 nữa
VBA7 để check máy sử dụng office 2010 trở lên
office 2010 trở lên thì từ khóa Ptrsafe được dùng chung cho cả 2 hệ 32 bit và 64 bit
office 2007 trở xuống thì không có từ khóa Ptrsafe , LongPtr ,....
đại khái tôi sửa mấy chỗ đó thì máy 64bit như tôi chạy được . chưa dám nói là đã test hết 100% addin
bạn có thể sửa lại như trên xem có bị lỗi trên office 32 bit không nhé
Không vẫn chạy nhưng đoạn code này tìm mãi không ra. Để về xem lại, và cài Excel 64bit test thử mới được.
#If Win64 Then
Private Declare PtrSafe Function DefWindowProcW Lib "user32" (ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As LongPtr) As Long
#Else
Private Declare Function DefWindowProcW Lib "user32" (ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As LongPtr) As Long
#End If
Không vẫn chạy nhưng đoạn code này tìm mãi không ra. Để về xem lại, và cài Excel 64bit test thử mới được.
#If Win64 Then
Private Declare PtrSafe Function DefWindowProcW Lib "user32" (ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As LongPtr) As Long
#Else
Private Declare Function DefWindowProcW Lib "user32" (ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As LongPtr) As Long
#End If
Bây giờ Office 64bit cũng dần phổ biến lắm rồi! Mong tác giả hỗ trợ cho phiên bản mới này với! Thực sự có rất nhiều người cần đó ạ! Bác đã ngâm cứu xong cho bản 32bit rồi mong hãy bớt chút thời gian cho bản 64 bit cho những người như chúng em được xài cùng với ạ! - Dẫu biết để làm thì tác giả phải cài lại Win 64bit và Office 64bit, có chút mất thời gian, hi vọng tác giả sẽ khắc phục được!
nói làm chi vậy cha. để em còn vô tham khảo code này nọ nữa chứ. vụ project unviewable này căng quá. bản quyền cũng không pá nổi.
em cũng tính làm y chang vậy mà không biết cách đây
còn 1 cái nữa. là có mấy add ins sau khi thêm vô mà không thấy gì cả. trong khi đó nó vẫn chạy tò tí te
nói làm chi vậy cha. để em còn vô tham khảo code này nọ nữa chứ. vụ project unviewable này căng quá. bản quyền cũng không pá nổi.
em cũng tính làm y chang vậy mà không biết cách đây
còn 1 cái nữa. là có mấy add ins sau khi thêm vô mà không thấy gì cả. trong khi đó nó vẫn chạy tò tí te
bạn thích làm addin thì tự nghiên cứu mà học hỏi . sao phải lợi dụng lúc sơ ý của người khác . bản lĩnh để ở đâu ?
đặt password với project unviewable về cơ bản không có gì khác nhau . nhưng đây không phải nơi trao đổi về phá mật khẩu file excel
những addin không nhìn thấy code đơn giản vì addin đó không viết bằng ngôn ngữ VBA
trong các file addin của Nguyễn Duy Tuân cũng đã nêu rõ là addin được viết bằng Delphi
Đã test và chạy tốt trên Office 2013 bản 64 bit của em rồi ạ! Cảm ơn bác nhiều lắm!
Từ ngày lên Office 2013, khi cần dùng chức năng nào đó như Convert font, sắp xếp họ tên... em toàn phải cài sẵn 1 máy ảo, cần thì mở lên sửa ở đó, sau đó copy về máy thật làm. Giờ thì tiện quá rồi! Cảm ơn tác giả nhiều lắm.
Mấy nữa có Office 2016, hy vọng bác tiếp tục hỗ trợ cho phiên bản mới! Chúc bác luôn mạnh khỏe, công tác tốt, thành công trong cuộc sống, công việc!
nói làm chi vậy cha. để em còn vô tham khảo code này nọ nữa chứ. vụ project unviewable này căng quá. bản quyền cũng không pá nổi.
em cũng tính làm y chang vậy mà không biết cách đây
Tham khảo code này nọ trên diễn đàn đầy, còn mở Project người khác giống như mớ bồng bông xem mệt lắm.
Muốn tạo VBA project unviewable cũng dễ lắm, bạn tạo Topic đi sẽ có người trả lời ngay.
Theo mình biết thì tạo bằng VB6 dịch ra DLL và đăng ký thế là xong, nhưng trình độ của mình thì chịu
Cảm ơn bạn có nhã ý mời cafe, nhưng chắc chờ dịp khác, mình thì không thích xem đua xe.