Giúp chuyển CODE vba sang Dll

Liên hệ QC

Covid19pro

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
21/12/20
Bài viết
6
Được thích
2
Chào mọi người . CHo mình hỏi phương thức viết code như code bên dưới là dùng cách nào. Xuất tất cả VBA qua DLL sau đó trong VBA gọi lại các code trong Dll. Mình cần viết như thế này cho mình hỏi phải dùng VBA hay C++ hay dùng 1 tool gì . Do mình có code VBA sẳng giờ phải dùng cách nào để chuyển qua dạng này nhanh nhất. XIn chân thành cảm ơn


#If Win64 = False Then
Private Declare Sub a54dsg5r4grey4 Lib "abc_xlsb_32.dll" Alias "k1je7an9i1cgezw@0" ()
Private Declare Sub grgrseges4ghresyh4 Lib "abc_xlsb_32.dll" Alias "w3pja8q9m9es3@0" ()
#Else
Private Declare PtrSafe Sub a54dsg5r4grey4 Lib "abc_xlsb_32.dll" Alias "k1je7an9i1cgezw" ()
Private Declare PtrSafe Sub grgrseges4ghresyh4 Lib "abc_xlsb_32.dll" Alias "w3pja8q9m9es3" ()
#End If

Option Explicit
Sub test1()
a54dsg5r4grey4
End Sub

Sub Test2()
grgrseges4ghresyh4
End Sub
 
Mã nguồn ở đây chứ... quan trọng là ta có biết [sic] đọc mã C hay không.

1610517414797.png
 
Upvote 0
Chào mọi người . CHo mình hỏi phương thức viết code như code bên dưới là dùng cách nào. Xuất tất cả VBA qua DLL sau đó trong VBA gọi lại các code trong Dll. Mình cần viết như thế này cho mình hỏi phải dùng VBA hay C++ hay dùng 1 tool gì . Do mình có code VBA sẳng giờ phải dùng cách nào để chuyển qua dạng này nhanh nhất. XIn chân thành cảm ơn


#If Win64 = False Then
Private Declare Sub a54dsg5r4grey4 Lib "abc_xlsb_32.dll" Alias "k1je7an9i1cgezw@0" ()
Private Declare Sub grgrseges4ghresyh4 Lib "abc_xlsb_32.dll" Alias "w3pja8q9m9es3@0" ()
#Else
Private Declare PtrSafe Sub a54dsg5r4grey4 Lib "abc_xlsb_32.dll" Alias "k1je7an9i1cgezw" ()
Private Declare PtrSafe Sub grgrseges4ghresyh4 Lib "abc_xlsb_32.dll" Alias "w3pja8q9m9es3" ()
#End If

Option Explicit
Sub test1()
a54dsg5r4grey4
End Sub

Sub Test2()
grgrseges4ghresyh4
End Sub
bạn vào trang web này sẽ tìm thấy cái bạn cần, đơn giản, dễ làm chỉ là mất phí: https://vbacompiler.com/
 
Upvote 0
bạn vào trang web này sẽ tìm thấy cái bạn cần, đơn giản, dễ làm chỉ là mất phí: https://vbacompiler.com/
Thớt là đân dạy C++ lấy 200 đô la một tiết. Chứ không phải tay mơ.

Chỉ là không chịu học code VBA cho nên code VBA toàn là đi xin đâu đó. Bây giờ đến lúc p-rô-dét bán lấy tiền được rồi nên cần mã hoá mấy cái VBA để cho chính chủ không nhận code của mình và đòi chia tiền.

Lên đây hỏi là do muốn miễn phí chứ làm phải trả tiền thì thớt biết cả khối.
 
Upvote 0
Xin chào tất cả mọi người, đọc lại chủ đề này OT cũng thấy khá thực tế & cần thiết:
Ví dụ OT có đoạn code như sau:
Mã:
Public Const SeverName As String = "LAPTOP-AC5\SQLEXPRESS"
Public Const DatabaseName As String = "QLBH"
Public Const UserNameSQL As String = "Admin"
Public Const PasswordSQL As String = "123456789"
Public Conn As Object

Public Function ConnectToSQL(Server As String, Database As String, User As String, Pwd As String) As Boolean
    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open ("Driver={SQL Server};Server=" & Server & ";Database=" & Database & ";Uid=" & User & ";Pwd=" & Pwd & ";")
End Function
Do bảo mật trong VBA thì rất kém, nếu để đoạn code trên trong file Excel thì cũng khá nguy hiểm, (nếu SeverName là dùng chung) ...
Do vậy có cách nào hoặc công cụ nào có thể chuyển dễ dàng đoạn code trên đưa ra file DLL ,
Sau đó từ Excel có thể chạy một đoạn code ví dụ như (gọi hàm ConnectToSQL) từ file DLL không ạ:
Mã:
Sub testConnectToSQL()
    Set rs = CreateObject("ADODB.Recordset")
    Call ConnectToSQL(SeverName, DatabaseName, UserNameSQL, PasswordSQL)
...
End Sub
OT cũng có xem Bài 9 nhưng với các làm đó có lẽ dành cho các bạn chuyên sâu về lập trình (thực sự với OT xem mà không hiểu gì cả).
 
Upvote 0
Xin chào tất cả mọi người, đọc lại chủ đề này OT cũng thấy khá thực tế & cần thiết:
Ví dụ OT có đoạn code như sau:
Mã:
Public Const SeverName As String = "LAPTOP-AC5\SQLEXPRESS"
Public Const DatabaseName As String = "QLBH"
Public Const UserNameSQL As String = "Admin"
Public Const PasswordSQL As String = "123456789"
Public Conn As Object

Public Function ConnectToSQL(Server As String, Database As String, User As String, Pwd As String) As Boolean
    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open ("Driver={SQL Server};Server=" & Server & ";Database=" & Database & ";Uid=" & User & ";Pwd=" & Pwd & ";")
End Function
Do bảo mật trong VBA thì rất kém, nếu để đoạn code trên trong file Excel thì cũng khá nguy hiểm, (nếu SeverName là dùng chung) ...
Do vậy có cách nào hoặc công cụ nào có thể chuyển dễ dàng đoạn code trên đưa ra file DLL ,
Sau đó từ Excel có thể chạy một đoạn code ví dụ như (gọi hàm ConnectToSQL) từ file DLL không ạ:
Mã:
Sub testConnectToSQL()
    Set rs = CreateObject("ADODB.Recordset")
    Call ConnectToSQL(SeverName, DatabaseName, UserNameSQL, PasswordSQL)
...
End Sub
OT cũng có xem Bài 9 nhưng với các làm đó có lẽ dành cho các bạn chuyên sâu về lập trình (thực sự với OT xem mà không hiểu gì cả).
Dùng VB6 để tạo DLL dễ như viết VBA. Biết VBA thì học VB6 trong 1 buổi là được
 
Upvote 0
Dùng VB6 để tạo DLL dễ như viết VBA. Biết VBA thì học VB6 trong 1 buổi là được
Ý,Xin chào Anh @Quang_Hải , kính chúc Anh năm mới thành công rực rỡ ạ :"'
OT có nghe nói về VB6 nhiều trên diễn đàn nhưng thưc sự có lẽ chưa bao giờ va phải hay sao ây.
Nếu có thể anh chỉ cho OT cách làm từng bước cụ thể với trường hợp trên của OT ạ ( không mong một ngày, 1 tuần hoặc mười ngày thạm chị hơn nữa cũng được ạ)
 
Upvote 0
Ý,Xin chào Anh @Quang_Hải , kính chúc Anh năm mới thành công rực rỡ ạ :"'
OT có nghe nói về VB6 nhiều trên diễn đàn nhưng thưc sự có lẽ chưa bao giờ va phải hay sao ây.
Nếu có thể anh chỉ cho OT cách làm từng bước cụ thể với trường hợp trên của OT ạ ( không mong một ngày, 1 tuần hoặc mười ngày thạm chị hơn nữa cũng được ạ)
Mình đã chuyển sang kinh doanh code rồi bạn ơi. Hãy tìm trên google và sẽ biết phải làm như thế nào. Từ năm con trâu mới này mình đã không còn viết code free nữa.
 
Upvote 0
Mình đã chuyển sang kinh doanh code rồi bạn ơi. Hãy tìm trên google và sẽ biết phải làm như thế nào. Từ năm con trâu mới này mình đã không còn viết code free nữa.
Uây vậy hả, OT chúc mừng anh đã biết kiếm tiền từ việc viết code híhíhí , :p
Mọi khi OT thấy anh hay đăng bài kèm cặp code mất phí (không phải trao đổi bằng tiền mà là cốc cafe, hay cốc bia gì đó) :D
Tiếc là OT không ở gần Bình Dương nếu không thì anh sẽ uống no cafe mỗi ngày luôn đó ạ --=0
Vậy anh cứ kinh doanh đi ạ, thuận mua vừa bán nếu trong khả năng chi trả OT sẽ cố gắng :yahoo:
 
Upvote 0
Xin chào tất cả mọi người, đọc lại chủ đề này OT cũng thấy khá thực tế & cần thiết:
Ví dụ OT có đoạn code như sau:
Mã:
Public Const SeverName As String = "LAPTOP-AC5\SQLEXPRESS"
Public Const DatabaseName As String = "QLBH"
Public Const UserNameSQL As String = "Admin"
Public Const PasswordSQL As String = "123456789"
Public Conn As Object

Public Function ConnectToSQL(Server As String, Database As String, User As String, Pwd As String) As Boolean
    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open ("Driver={SQL Server};Server=" & Server & ";Database=" & Database & ";Uid=" & User & ";Pwd=" & Pwd & ";")
End Function
Do bảo mật trong VBA thì rất kém, nếu để đoạn code trên trong file Excel thì cũng khá nguy hiểm, (nếu SeverName là dùng chung) ...
Do vậy có cách nào hoặc công cụ nào có thể chuyển dễ dàng đoạn code trên đưa ra file DLL ,
Sau đó từ Excel có thể chạy một đoạn code ví dụ như (gọi hàm ConnectToSQL) từ file DLL không ạ:
Mã:
Sub testConnectToSQL()
    Set rs = CreateObject("ADODB.Recordset")
    Call ConnectToSQL(SeverName, DatabaseName, UserNameSQL, PasswordSQL)
...
End Sub
OT cũng có xem Bài 9 nhưng với các làm đó có lẽ dành cho các bạn chuyên sâu về lập trình (thực sự với OT xem mà không hiểu gì cả).
Cái này thì đơn giản mà, nhưng "...." máy cái chấm đó bạn bỏ thời gian nghiên cứu sẽ nghiệm ra nhiều thứ hihi. Với lại mình thấy trình độ code của bạn cũng khá lắm mà huống chi được 1 số anh trên diễn hướng dẫn nhiệt tình nữa, cố gắng lên hihi.


Đầu năm chúc toàn thể thành viên diễn đàn gặp nhiều may mắn, vạn sự như ý
 
Upvote 0
Cái này thì đơn giản mà, nhưng "...." máy cái chấm đó bạn bỏ thời gian nghiên cứu sẽ nghiệm ra nhiều thứ hihi. Với lại mình thấy trình độ code của bạn cũng khá lắm mà huống chi được 1 số anh trên diễn hướng dẫn nhiệt tình nữa, cố gắng lên hihi.


Đầu năm chúc toàn thể thành viên diễn đàn gặp nhiều may mắn, vạn sự như ý
Cảm ơn Bạn đã quan tâm ạ,
OT cũng thấy Bạn hay làm cái món này nhiều thì phải? :p
Nếu có thể mong bạn chỉ dẫn.
OT chúc Bạn sức khỏe & thành công.
 
Upvote 0
Cảm ơn Bạn đã quan tâm ạ,
OT cũng thấy Bạn hay làm cái món này nhiều thì phải? :p
Nếu có thể mong bạn chỉ dẫn.
OT chúc Bạn sức khỏe & thành công.
Hihi mình còn làm hơn cái món bạn nói nữa, nhưng cũng múa rìu qua mắt thợ thôi, với lại dạo này không có thời gian rảnh rỗi + chán không muốn nghiên cứu nữa, nên giờ quên hết rồi.
Còn bạn muốn học hỏi nên hỏi mọi người trên diễn đàn là tốt nhất.
Thân
 
Upvote 0
Hihi mình còn làm hơn cái món bạn nói nữa, nhưng cũng múa rìu qua mắt thợ thôi, với lại dạo này không có thời gian rảnh rỗi + chán không muốn nghiên cứu nữa, nên giờ quên hết rồi.
Còn bạn muốn học hỏi nên hỏi mọi người trên diễn đàn là tốt nhất.
Thân
Cảm ơn Bạn vì đã góp ý, đêm qua theo gợi ý của anh @Quang_Hải , OT tìm kiếm suốt về phương pháp dùng VB6 như thấy rằng:
'VB6 chỉ hỗ trợ nền tảng 32bit và đã bị Bác Bill ngưng hỗ trợ từ năm 1998 '
trong khi phiên bản Office của OT lại là 64bit, hic hic.
 
Upvote 0
Upvote 0
OT cũng có xem Bài 9 nhưng với các làm đó có lẽ dành cho các bạn chuyên sâu về lập trình (thực sự với OT xem mà không hiểu gì cả).

Nếu bạn chỉ dùng kiến thức VBA để mong hiểu ngay cách tạo DLL không thì chắc chắn không hiểu gì theo video bài 9 hay bất kể hướng dẫn nào trên các ngôn ngữ khác. Tạo DLL trên VB6 thì dễ nhất nhưng gặp trở ngại với việc tạo DLL 64-bit và Microsoft ngừng phát triển nó. Tôi có nhiều chia sẻ về việc xây dựng DLL kể cả trên .NET, DELPHI, VB6 trên kênh youtube và từng share trên GPE này. Nếu bạn xác định không dùng VB6 nữa mà muốn tạo DLL trên công cụ khác thì cần phải học ngôn ngữ mới đã sau đó mới học các bước để tạo DLL. Video bài 9 là tôi hướng dẫn cách làm bằng Delphi, tôi đánh giá nó là công cụ tạo khá dễ và gần gũi với những ai đã biết VBA hay VB6.
 
Upvote 0
Cảm ơn Bạn vì đã góp ý, đêm qua theo gợi ý của anh @Quang_Hải , OT tìm kiếm suốt về phương pháp dùng VB6 như thấy rằng:
'VB6 chỉ hỗ trợ nền tảng 32bit và đã bị Bác Bill ngưng hỗ trợ từ năm 1998 '
trong khi phiên bản Office của OT lại là 64bit, hic hic.
Nhanh nhất và gần gũi với VBA là tìm hiểu Visual Basic .Net để tạo DLL, ngôn ngữ như tương tự VBA sẽ giúp phát triển những gì bạn đã có
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom