Chia sẻ Add_ins dùng để mã hóa code VBA (nhằm tạo sự khó đọc cho những kẻ tò mò)

Liên hệ QC

giaiphap

==(^o^)==
Tham gia
12/3/07
Bài viết
5,778
Được thích
6,274
Donate (Momo)
Donate
Giới tính
Nam
Các bạn đã từng thấy các đoạn code của bác Hữu Thắng hay chưa? nếu chưa thì có thể tham khảo ở hình dưới.
Hinh.jpg
Vô tình lên mạng mình tìm thấy một tiện ích có chức năng tương tự như trên, nhưng nó còn một hạn chế là sau khi chuyển thì một số nút lệnh trên sheet sẽ gãy liên kết (ta phải làm lại công việc tạo lại các liên kết macro), và một lỗi nửa là các hàm API nó cũng chưa chuyển đúng (Mình đã chỉnh sửa lại bằng cách loại trừ các hàm API, trong file mình có ghi chú nếu trong code của bạn có các hàm AIP thì bạn phải khai báo trước khi cho nó chuyển đổi), bạn nào sử dụng và nghiên cứu tiếp để hoàn thiện add-ins. Trước hết bạn hãy mở tiện ích lên (nhớ giải nén thư mục tải về có 2 file, 1 file tiện ích và một file text) sau đó mở tiếp file excel có chắc macro bạn muốn mã hóa lên và chọn lệnh Encrypt VBA Project, sau đó chọn yes, chọn đường dẫn và gõ tên file cần lưu sau khi mã hóa. Đợi nó thực hiện chút xong nháy OK. Bây giờ bạn nhấn Alt+F11 để xem kết quả (Nhớ là phải xem lại có nút lệnh nào trên sheet sử dụng đến code VBA bạn phải sửa lại hết, do nó chỉ chuyển code còn Liên kết đến code cho các nút lệnh trên sheet không được cập nhật)
 

File đính kèm

  • VBASafe.zip
    132.6 KB · Đọc: 524
Lần chỉnh sửa cuối:
Các bạn đã từng thấy các đoạn code của bác Hữu Thắng hay chưa? nếu chưa thì có thể tham khảo ở hình dưới.
View attachment 162845
Vô tình lên mạng mình tìm thấy một tiện ích có chức năng tương tự như trên, nhưng nó còn một hạn chế là sau khi chuyển thì một số nút lệnh trên sheet sẽ gãy liên kết (ta phải làm lại công việc tạo lại các liên kết macro), và một lỗi nửa là các hàm API nó cũng chưa chuyển đúng (Mình đã chỉnh sửa lại bằng cách loại trừ các hàm API, trong file mình có ghi chú nếu trong code của bạn có các hàm AIP thì bạn phải khai báo trước khi cho nó chuyển đổi), bạn nào sử dụng và nghiên cứu tiếp để hoàn thiện add-ins. Trước hết bạn hãy mở tiện ích lên (nhớ giải nén thư mục tải về có 2 file, 1 file tiện ích và một file text) sau đó mở tiếp file excel có chắc macro bạn muốn mã hóa lên và chọn lệnh Encrypt VBA Project, sau đó chọn yes, chọn đường dẫn và gõ tên file cần lưu sau khi mã hóa. Đợi nó thực hiện chút xong nháy OK. Bây giờ bạn nhấn Alt+F11 để xem kết quả (Nhớ là phải xem lại có nút lệnh nào trên sheet sử dụng đến code VBA bạn phải sửa lại hết, do nó chỉ chuyển code còn Liên kết đến code cho các nút lệnh trên sheet không được cập nhật)
Nó lỗi code Bạn khả năng MÌnh thao tac sai cái gì đó...Từ từ ta nghiên cứu
 

File đính kèm

  • Capture.jpg
    Capture.jpg
    24.7 KB · Đọc: 522
Code trong hình đó không phải của tôi nhé bạn --=0
 
kể ra ngâm cứu hồi thấy cũng hay hay ...nhưng còn nhiều hạn chế lắm ...một số dòng code nó không hiểu và báo lỗi ...nói chung chua hoàn thiên lắm ...( Theo chủ quan của mình còn ai đó thì No biết)

Trên Anh google keo anh kiếm hồi nó ra đống ... vấn đề là ưa mớ nào thôi ....--=0
Mã:
Public Function yqzqarbrcrdrerfrgrhr(irjrkrlrmrnrorprqrrr As Variant) As Variant
Dim srtrurvrwrxryrzrasbs As Variant, olplqlrlsltlulvlwlxl As Long, csdsesfsgshsisjsksls As Long
ReDim srtrurvrwrxryrzrasbs(UBound(irjrkrlrmrnrorprqrrr, 2), UBound(irjrkrlrmrnrorprqrrr, 1))
For olplqlrlsltlulvlwlxl = 0 To UBound(irjrkrlrmrnrorprqrrr, 2)
For csdsesfsgshsisjsksls = 0 To UBound(irjrkrlrmrnrorprqrrr, 1)
srtrurvrwrxryrzrasbs(olplqlrlsltlulvlwlxl, csdsesfsgshsisjsksls) = irjrkrlrmrnrorprqrrr(csdsesfsgshsisjsksls, olplqlrlsltlulvlwlxl)
Next csdsesfsgshsisjsksls
Next olplqlrlsltlulvlwlxl
yqzqarbrcrdrerfrgrhr = srtrurvrwrxryrzrasbs
End Function
 
kể ra ngâm cứu hồi thấy cũng hay hay ...nhưng còn nhiều hạn chế lắm ...một số dòng code nó không hiểu và báo lỗi ...nói chung chua hoàn thiên lắm ...( theo chủ quan của mình còn ai đó thì no biết)

trên anh google keo anh kiếm hồi nó ra đống ... Vấn đề là ưa mớ nào thôi ....--=0
Mã:
Public function yqzqarbrcrdrerfrgrhr(irjrkrlrmrnrorprqrrr as variant) as variant
dim srtrurvrwrxryrzrasbs as variant, olplqlrlsltlulvlwlxl as long, csdsesfsgshsisjsksls as long
redim srtrurvrwrxryrzrasbs(ubound(irjrkrlrmrnrorprqrrr, 2), ubound(irjrkrlrmrnrorprqrrr, 1))
for olplqlrlsltlulvlwlxl = 0 to ubound(irjrkrlrmrnrorprqrrr, 2)
for csdsesfsgshsisjsksls = 0 to ubound(irjrkrlrmrnrorprqrrr, 1)
srtrurvrwrxryrzrasbs(olplqlrlsltlulvlwlxl, csdsesfsgshsisjsksls) = irjrkrlrmrnrorprqrrr(csdsesfsgshsisjsksls, olplqlrlsltlulvlwlxl)
next csdsesfsgshsisjsksls
next olplqlrlsltlulvlwlxl
yqzqarbrcrdrerfrgrhr = srtrurvrwrxryrzrasbs
end function
Chính xác là quá hạn chế
giống như đoạn code của kiều mạnh
Chỉ cần vài thao tác thì có thể nghiên cứu được code họ viết những gì.
Mã:
public function ldt1(ldt2 as variant) as variant
dim ldt3 as variant, ldt4 as long, ldt5 as long
redim ldt3(ubound(ldt2, 2), ubound(ldt2, 1))
for ldt4 = 0 to ubound(ldt2, 2)
for ldt5 = 0 to ubound(ldt2, 1)
ldt3(ldt4, ldt5) = ldt2(ldt5, ldt4)
next ldt5
next ldt4
ldt1 = ldt3
end function
 
Lần chỉnh sửa cuối:
Chính xác là quá hạn chế
giống như đoạn code của kiều mạnh
Chỉ cần vài thao tác thì có thể nghiên cứu được code họ viết những gì.
Mã:
public function ldt1(ldt2 as variant) as variant
dim ldt3 as variant, ldt4 as long, ldt5 as long
redim ldt3(ubound(ldt2, 2), ubound(ldt2, 1))
for ldt4 = 0 to ubound(ldt2, 2)
for ldt5 = 0 to ubound(ldt2, 1)
ldt3(ldt4, ldt5) = ldt2(ldt5, ldt4)
next ldt5
next ldt4
ldt1 = ldt3
end function
Em mới thử làm vài cái nó cũng ra giống như Anh... xem ra cái này cũng không Vui lắm ...
làm thủ công cũng được mà...có điều rất công phu và mắt phải sáng để dòm ....hahahahaha
code Mã hóa
Mã:
Public Function ldt1(ldt2 As Variant) As Variant
    Dim ldt3 As Variant, ldt4 As Long, ldt5 As Long
    ReDim ldt3(UBound(ldt2, 2), UBound(ldt2, 1))
    For ldt4 = 0 To UBound(ldt2, 2)
        For ldt5 = 0 To UBound(ldt2, 1)
            ldt3(ldt4, ldt5) = ldt2(ldt5, ldt4)
        Next ldt5
    Next ldt4
    ldt1 = ldt3
End Function
Tương tự như code dưới
Mã:
Public Function l_i_i_i_l_l_1_l_1_1_1_1(l_i_i_i_l_l_1_1_l_1_1_1 As Variant) As Variant
Dim l_i_i_i_l_l_1_1_1_l_1_1 As Variant, l_i_i_i_l_l_1_1_1_1_l_1 As Long, l_i_i_i_l_l_1_1_1_1_1_l As Long
ReDim l_i_i_i_l_l_1_1_1_l_1_1(UBound(l_i_i_i_l_l_1_1_l_1_1_1, 2), UBound(l_i_i_i_l_l_1_1_l_1_1_1, 1))
For l_i_i_i_l_l_1_1_1_1_l_1 = 0 To UBound(l_i_i_i_l_l_1_1_l_1_1_1, 2)
For l_i_i_i_l_l_1_1_1_1_1_l = 0 To UBound(l_i_i_i_l_l_1_1_l_1_1_1, 1)
l_i_i_i_l_l_1_1_1_l_1_1(l_i_i_i_l_l_1_1_1_1_l_1, l_i_i_i_l_l_1_1_1_1_1_l) = l_i_i_i_l_l_1_1_l_1_1_1(l_i_i_i_l_l_1_1_1_1_1_l, l_i_i_i_l_l_1_1_1_1_l_1)
Next l_i_i_i_l_l_1_1_1_1_1_l
Next l_i_i_i_l_l_1_1_1_1_l_1
l_i_i_i_l_l_1_l_1_1_1_1 = l_i_i_i_l_l_1_1_1_l_1_1
End Function
 
Lần chỉnh sửa cuối:
Thì tôi cũng đã từng làm cái việc dịch ngược mã code lại (nó không khó nhưng lại mất thời gian), những ví dụ ở trên chỉ là một hàm thôi, còn nếu trong file có cả chục Module, cả chục cái Form chưa kể có Class Module và Sheet nửa. Tôi góp vui thêm đoạn code của bác KieuManh ở #6 nhìn sẽ rối hơn nửa đây:
Mã:
Private Const l_i_i_i_l_l_1_l_1_1_1_1 = 1: Const l_i_i_i_l_l_1_1_1_1 = 2:   Const l_i_i_i_l_l_1_1_l_1_1_1 = 0
Public Function l_i_i_i_l_l_1_1_1_l_1_1(l_i_i_i_l_l_1_1_1_1_l_1 As Variant) As Variant
Dim l_i_i_i_l_l_1_1_1_1_1_l As Variant, l_i_i_i_l_1_l_l_1_1_1_1 As Long, l_i_i_i_l_1_l_1_l_1_1_1 As Long: ReDim l_i_i_i_l_l_1_1_1_1_1_l(UBound(l_i_i_i_l_l_1_1_1_1_l_1, l_i_i_i_l_l_1_1_1_1), UBound(l_i_i_i_l_l_1_1_1_1_l_1, l_i_i_i_l_l_1_l_1_1_1_1))
For l_i_i_i_l_1_l_l_1_1_1_1 = l_i_i_i_l_l_1_1_l_1_1_1 To UBound(l_i_i_i_l_l_1_1_1_1_l_1, l_i_i_i_l_l_1_1_1_1): For l_i_i_i_l_1_l_1_l_1_1_1 = l_i_i_i_l_l_1_1_l_1_1_1 To UBound(l_i_i_i_l_l_1_1_1_1_l_1, l_i_i_i_l_l_1_l_1_1_1_1)
l_i_i_i_l_l_1_1_1_1_1_l(l_i_i_i_l_1_l_l_1_1_1_1, l_i_i_i_l_1_l_1_l_1_1_1) = l_i_i_i_l_l_1_1_1_1_l_1(l_i_i_i_l_1_l_1_l_1_1_1, l_i_i_i_l_1_l_l_1_1_1_1)
Next l_i_i_i_l_1_l_1_l_1_1_1: Next l_i_i_i_l_1_l_l_1_1_1_1: l_i_i_i_l_l_1_1_1_l_1_1 = l_i_i_i_l_l_1_1_1_1_1_l
End Function
 
Thì tôi cũng đã từng làm cái việc dịch ngược mã code lại (nó không khó nhưng lại mất thời gian), những ví dụ ở trên chỉ là một hàm thôi, còn nếu trong file có cả chục Module, cả chục cái Form chưa kể có Class Module và Sheet nửa. Tôi góp vui thêm đoạn code của bác KieuManh ở #6 nhìn sẽ rối hơn nửa đây:
Mã:
Private Const l_i_i_i_l_l_1_l_1_1_1_1 = 1: Const l_i_i_i_l_l_1_1_1_1 = 2:   Const l_i_i_i_l_l_1_1_l_1_1_1 = 0
Public Function l_i_i_i_l_l_1_1_1_l_1_1(l_i_i_i_l_l_1_1_1_1_l_1 As Variant) As Variant
Dim l_i_i_i_l_l_1_1_1_1_1_l As Variant, l_i_i_i_l_1_l_l_1_1_1_1 As Long, l_i_i_i_l_1_l_1_l_1_1_1 As Long: ReDim l_i_i_i_l_l_1_1_1_1_1_l(UBound(l_i_i_i_l_l_1_1_1_1_l_1, l_i_i_i_l_l_1_1_1_1), UBound(l_i_i_i_l_l_1_1_1_1_l_1, l_i_i_i_l_l_1_l_1_1_1_1))
For l_i_i_i_l_1_l_l_1_1_1_1 = l_i_i_i_l_l_1_1_l_1_1_1 To UBound(l_i_i_i_l_l_1_1_1_1_l_1, l_i_i_i_l_l_1_1_1_1): For l_i_i_i_l_1_l_1_l_1_1_1 = l_i_i_i_l_l_1_1_l_1_1_1 To UBound(l_i_i_i_l_l_1_1_1_1_l_1, l_i_i_i_l_l_1_l_1_1_1_1)
l_i_i_i_l_l_1_1_1_1_1_l(l_i_i_i_l_1_l_l_1_1_1_1, l_i_i_i_l_1_l_1_l_1_1_1) = l_i_i_i_l_l_1_1_1_1_l_1(l_i_i_i_l_1_l_1_l_1_1_1, l_i_i_i_l_1_l_l_1_1_1_1)
Next l_i_i_i_l_1_l_1_l_1_1_1: Next l_i_i_i_l_1_l_l_1_1_1_1: l_i_i_i_l_l_1_1_1_l_1_1 = l_i_i_i_l_l_1_1_1_1_1_l
End Function
Trò này giống con bé nhà mình đang tập nói ba Mạnh ơi ba mạnh à
Mã:
Private Const l_i_i_i_l_l_1_l_1_1_1_1 = 1: Const l_i_i_i_l_l_1_1_1_1 = 2:   Const l_i_i_i_l_l_1_1_l_1_1_1 = 0
Public Function giaiphapoi(giaiphapoiHahahaha As Variant) As Variant
Dim giaiphapoihehehehe As Variant, l_i_i_i_l_1_l_l_1_1_1_1 As Long, l_i_i_i_l_1_l_1_l_1_1_1 As Long: ReDim giaiphapoihehehehe(UBound(giaiphapoiHahahaha, l_i_i_i_l_l_1_1_1_1), UBound(giaiphapoiHahahaha, l_i_i_i_l_l_1_l_1_1_1_1))
For l_i_i_i_l_1_l_l_1_1_1_1 = l_i_i_i_l_l_1_1_l_1_1_1 To UBound(giaiphapoiHahahaha, l_i_i_i_l_l_1_1_1_1): For l_i_i_i_l_1_l_1_l_1_1_1 = l_i_i_i_l_l_1_1_l_1_1_1 To UBound(giaiphapoiHahahaha, l_i_i_i_l_l_1_l_1_1_1_1)
giaiphapoihehehehe(l_i_i_i_l_1_l_l_1_1_1_1, l_i_i_i_l_1_l_1_l_1_1_1) = giaiphapoiHahahaha(l_i_i_i_l_1_l_1_l_1_1_1, l_i_i_i_l_1_l_l_1_1_1_1)
Next l_i_i_i_l_1_l_1_l_1_1_1: Next l_i_i_i_l_1_l_l_1_1_1_1: giaiphapoi = giaiphapoihehehehe
End Function
 
Vậy bạn làm việc đó bằng cách nào mà không mất thời gian vậy? --=0 --=0 --=0

Thợ làm ống khóa cũng là nghệ sĩ --=0--=0
Thợ làm chìa khóa cũng phải là nghệ sĩ --=0--=0
Mình cũng viết sẵn code để Replace mấy kí tự đó rồi , nhưng cũng chỉ để cất vào tủ , nói chung không ưa mấy trò này , ai thích chơi thì cứ việc , mình không quan tâm .
 
Thợ làm ống khóa cũng là nghệ sĩ --=0--=0
Thợ làm chìa khóa cũng phải là nghệ sĩ --=0--=0
Mình cũng viết sẵn code để Replace mấy kí tự đó rồi , nhưng cũng chỉ để cất vào tủ , nói chung không ưa mấy trò này , ai thích chơi thì cứ việc , mình không quan tâm .
Bạn nói đúng, tôi thì không phải là nghệ sĩ (do bản thân đâu biết cách làm ra giống vậy đâu mà là nghệ sĩ, vì vậy khi thấy nó chỉ biết làm theo cách thủ công thôi), đây chỉ là tiện ích mình sưu tầm được (đã đề cập ở #1) và phát hiện có một số lỗi, định chia sẽ để mọi người biết và hiểu được khi nào gặp code giống vậy thì biết nó được tạo ra bằng cách nào. Còn nếu muốn tạo vậy để sử dụng cho bản thân thì tôi chẳng thèm đưa lên đây làm gì (để tự phục vụ cho bản thân để khỏi bị ném gạch cho nó khỏe), tôi cam đoan với bạn là sẽ chẳng bao giờ dùng tới vì tôi thấy cách này chẳng ích lợi gì mà còn làm cho dung lượng file phình to ra, file chạy ì ạch, một lý do nửa mà tôi chẳng bao giờ sử dụng nó là cái tôi biết thì rất nhiều người biết (Ít nhất là nhiều thành viên trong diễn đàn đã giúp tôi trong thời gian vừa qua trong đó có thể kể tên hpkhuong, kieumanh, thầy ndu, doveandrose...), mà khi họ biết thì cái tôi làm được họ cũng làm được, mà làm được rồi xem code của tôi để làm gì. Nếu muốn không cho xem code luôn thì chắc sẽ sử dụng đến DLL (theo như kieumanh đã chia sẽ), đang nghiên cứu và sẽ có kết quả trong thời gian ngắn. Dù sao cũng cảm ơn bác rất nhiều, có thể bác không quan tâm còn tôi thì cái gì thấy lạ thì lại quan tâm --=0 --=0 --=0
 
Bạn nói đúng, tôi thì không phải là nghệ sĩ (do bản thân đâu biết cách làm ra giống vậy đâu mà là nghệ sĩ, vì vậy khi thấy nó chỉ biết làm theo cách thủ công thôi), đây chỉ là tiện ích mình sưu tầm được (đã đề cập ở #1) và phát hiện có một số lỗi, định chia sẽ để mọi người biết và hiểu được khi nào gặp code giống vậy thì biết nó được tạo ra bằng cách nào. Còn nếu muốn tạo vậy để sử dụng cho bản thân thì tôi chẳng thèm đưa lên đây làm gì (để tự phục vụ cho bản thân để khỏi bị ném gạch cho nó khỏe), tôi cam đoan với bạn là sẽ chẳng bao giờ dùng tới vì tôi thấy cách này chẳng ích lợi gì mà còn làm cho dung lượng file phình to ra, file chạy ì ạch, một lý do nửa mà tôi chẳng bao giờ sử dụng nó là cái tôi biết thì rất nhiều người biết (Ít nhất là nhiều thành viên trong diễn đàn đã giúp tôi trong thời gian vừa qua trong đó có thể kể tên hpkhuong, kieumanh, thầy ndu, doveandrose...), mà khi họ biết thì cái tôi làm được họ cũng làm được, mà làm được rồi xem code của tôi để làm gì. Nếu muốn không cho xem code luôn thì chắc sẽ sử dụng đến DLL (theo như kieumanh đã chia sẽ), đang nghiên cứu và sẽ có kết quả trong thời gian ngắn. Dù sao cũng cảm ơn bác rất nhiều, có thể bác không quan tâm còn tôi thì cái gì thấy lạ thì lại quan tâm --=0 --=0 --=0
Thôi cái này thấy là lạ quậy chơi vậy biết rồi thôi ... chư bảo mật giống gì nữa ... mình mới test 1 mớ thấy tốc độ code hơi chậm thì phải....
Bạn nghiên cứu qua VB6 đi viết cho khỏe .... nếu khá nữa qua VB.net nó hổ trợ cá nhân hóa Office tuyệt đối đó ...(Viết Add-ins thì tuyêt vời...)
Chúc Mọi người chơi vui vẻ nha ...--=0
 
Mạnh mới tải bản mới nhất về coi nó mã hóa nè
Mã:
Sub OO1OlOlOO1l()
Dim OOlOlOlOO1l As Object
Dim OllOlOlOO1l As Integer
OllOlOlOO1l = 0
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
End With
For Each OOlOlOlOO1l In Sheets
If OOlOlOlOO1l.Visible = True Then
OllOlOlOO1l = OllOlOlOO1l + 1
End If
Next OOlOlOlOO1l
If Xloader.Range("I30").Value = False And OllOlOlOO1l > 3 Then Exit Sub
If OllOlOlOO1l > 3 Or Xloader.Range("I30").Value = "NOTE" Then
Xloader.Range("I32").Value = OllOlOlOO1l
Xloader.Range("I33").Value = "OPEN PROCEDURE"
If Xloader.Range("I31").Value = "" Then Xloader.Range("I30").Value = "NOTE"
If OO1OlOlOl0l = True Then Call OllOlOlOl1l
End If
End Sub
thay vì chữ lằng nhằng thì nó chuyển qua 011000 thôi chứ có khác gì mấy đâu

Chủ yếu quây để học tập và nghiên cứu thôi...qua đó xem có khai phá thêm cái gì mới ko đó mà...
 
Thôi cái này thấy là lạ quậy chơi vậy biết rồi thôi ... chư bảo mật giống gì nữa ... mình mới test 1 mớ thấy tốc độ code hơi chậm thì phải....
Bạn nghiên cứu qua VB6 đi viết cho khỏe .... nếu khá nữa qua VB.net nó hổ trợ cá nhân hóa Office tuyệt đối đó ...(Viết Add-ins thì tuyêt vời...)
Chúc Mọi người chơi vui vẻ nha ...--=0
Sẳn tiện bác kieumanh cho hỏi vấn đề này, hiện tại tôi đang viết lại cái tiện ích VnTools-Excel(lần trước bác thấy và góp ý) bằng VB6 nhưng không biết nó có chạy được trên Win 64Bit hay không vậy? Hiện tại thì nó chạy rất tốt trên Win 32Bit (do chưa hoàn chỉnh, cần bổ sung thêm một số chức năng nên chưa cài Win 64bit để test).
 
Sẳn tiện bác kieumanh cho hỏi vấn đề này, hiện tại tôi đang viết lại cái tiện ích VnTools-Excel(lần trước bác thấy và góp ý) bằng VB6 nhưng không biết nó có chạy được trên Win 64Bit hay không vậy? Hiện tại thì nó chạy rất tốt trên Win 32Bit (do chưa hoàn chỉnh, cần bổ sung thêm một số chức năng nên chưa cài Win 4bit để test).
Mình ko xài win64 nên không biết nữa ... nhưng cách đây mấy hôm mình có cho một người bạn files QLBH viết code trong *.dll trên máy mình win10_x32 + Office 2010_x32 xong Copy qua máy Win10_x64 + Office2016_x32 thấy chạy tốt đó...
Hình như khi viết trên máy Office 32 thì sẻ chạy trên máy Office x32 thì phải ....nếu vây bạn xài thêm cái máy ảo hay đua qua máy OfficeX64 xong Make lại *dll xem....Mình nghi nghi vậy chứ mình Mò học ko thôi ....có gì trật bỏ qua
 
Mình ko xài win64 nên không biết nữa ... nhưng cách đây mấy hôm mình có cho một người bạn files QLBH viết code trong *.dll trên máy mình win10_x32 + Office 2010_x32 xong Copy qua máy Win10_x64 + Office2016_x32 thấy chạy tốt đó...
Hình như khi viết trên máy Office 32 thì sẻ chạy trên máy Office x32 thì phải ....nếu vây bạn xài thêm cái máy ảo hay đua qua máy OfficeX64 xong Make lại *dll xem....Mình nghi nghi vậy chứ mình Mò học ko thôi ....có gì trật bỏ qua
Mình cài VB6 trên Win 10 32bit nhưng khi xuất file DLL thì nó báo lỗi ngay trước khi xuất, nhưng nếu mình tạo file DLL ở Win XP thì bình thường, sau đó mình tạo file setup để đăng ký file DLL với Windows thì vẫn cài đặt bình thường và sử dụng bình thường trên Win 10 32Bit.
 
Bác giaiphap rảnh thì viết hướng dẫn tạo bộ cài như cái vntool của bác đi, tui hâm mộ cái bộ setup đó quá ^^ (mà share code luôn để ae tiếp tục phát triển thêm thì thật tuyệt vời nếu bác làm ko vì mục đích thương mại )
 
Mình cài VB6 trên Win 10 32bit nhưng khi xuất file DLL thì nó báo lỗi ngay trước khi xuất, nhưng nếu mình tạo file DLL ở Win XP thì bình thường, sau đó mình tạo file setup để đăng ký file DLL với Windows thì vẫn cài đặt bình thường và sử dụng bình thường trên Win 10 32Bit.
Bạn kéo UAC xuống ... nếu ko kéo thì Chạy VB6 Run As nó mới hết lỗi...Winxp đâu có UAC mà lỗi chứ
Có phải lỗi theo hinh sau

Mai mốt mình Viết lại code mã hóa viết trên VB6 làm thành Add-ins úp lên cho Bạn coi ....đơn giản thôi mà
Mình đang suy nghĩ tại sao nó viết được như vậy mà mã nguồn lại để cho mình học ta...Xin cảm ơn hắn nhiều nhiều +-+-+-++-+-+-+--=----=--...
 

File đính kèm

  • Loi Khi UAC Keo Len Muc Cao.jpg
    Loi Khi UAC Keo Len Muc Cao.jpg
    23.2 KB · Đọc: 190
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom