Microsoft Visual Basic 6.0 Viết Ứng Dụng Cho Office Excel_x32 Và Office Excel_x64

Liên hệ QC

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia
9/6/12
Bài viết
5,421
Được thích
4,033
Giới tính
Nam
Mạnh lang thang trên Google tìm tài liệu viết cái Server xài ( Database.accdb ) trên VB6 vô tình thấy Internet nó keo VB6 có thể viết cho Sub + Function cho Officex32 và Officex64 chạy tốt

lỡ quậy rồi thì chơi tiếp .... Úp lên đây nhờ các Bạn test dùm trên Officex32 và Officex64 xem nó có chạy hay không

1/ Nhớ xem File hướng dẫn đăng ký nó
2/ Mở File Test_VBLibrary.xlb lên chạy code
3/ Nếu A2 = Kieu Van Manh .... là ok

Xin cảm ơn
 

File đính kèm

  • Test_VB6.rar
    17.7 KB · Đọc: 78
cách sử dụng API trong File bài số 19 như sau ... Áp dụng cho VBA và VB6
1/ Tử VBA check nó : Tools\Referentces..\....Win32Api.tlb
2/ Copy code sau vào VBA và chạy thử


Mã:
Private Sub Command1_Click()
    Dim intResult As Long ' return value
    intResult = Kernel32.DeleteFileW("D:\Temp.txt") ' Doesn't go to Recycle Bin!
    If intResult = 1 Then
        MsgBox "File deleted."
    Else
        MsgBox "Encountered Error. Couldn't Delete!"
    End If
End Sub

 Kernel32 = Module khi Go cham co List Ham
 
Upvote 0
chưa có thử cái này nên phỏng có biết sao nữa
Mạnh úp file API.tlb sau thử đăng ký dùm xem sao
Bạn nhìn code trong hình nhé. Tôi dùng reasmm.exe xử lý thẳng từ file DLL, nó tạo ra TLB và đăng ký vào thư mục hệ thống luôn nhé.
Còn bạn đã có tlb rồi thì cứ thế mà dùng thôi.

Screen Shot 2022-05-14 at 17.38.59.png
 
Upvote 0
Bạn nhìn code trong hình nhé. Tôi dùng reasmm.exe xử lý thẳng từ file DLL, nó tạo ra TLB và đăng ký vào thư mục hệ thống luôn nhé.
Còn bạn đã có tlb rồi thì cứ thế mà dùng thôi.

View attachment 275956
ít ngày nữa rảnh xem sau nếu OK viết thành code dùng luôn
Phiền chút Úp cho cái nội dung code đó lên dùm ... chụp hình xem thấy cũng ....

Tham khảo đi
 
Lần chỉnh sửa cuối:
Upvote 0


:D Tham khảo gì nữa bạn! Tôi đã dùng Regasm.exe trong bài post về tạo QR code và tạo mật khẩu cho file PDF gần đây rồi còn gì. Cái hình file [register.cmd] cũng mới đưa lên bài trước rồi đó.

regasm.png

Còn vụ đăng ký tlb thì dùng regtlibv12.exe đăng ký thôi. Nếu không thì dùng tool.

Screen Shot 2022-05-14 at 22.39.49.png


Screen Shot 2022-05-14 at 20.06.13.png


Bạn nào cần ngâm cứu thêm thì cứ vào đây, file, mã nguồn có sẵn hết: link

Screen Shot 2022-05-14 at 22.55.12.png

Theo tôi đã làm qua đối với windows 10, 11 64 bit thì khi đã tạo được file TLB từ DLL thì có thể dùng VBA code cho nó tự động thêm vào References luôn cũng là một cách, khỏi phải Register bằng code, tool trên.
(Reference.AddFromFile <path>)
 
Lần chỉnh sửa cuối:
Upvote 0
1/ reasmm.exe = xem nguyên tối qua các kiểu có một mớ kiếm thức rồi = chán ko muốn xem nữa
2/ cái đăng ký + hủy đăng ký ActiveX DLL & EXE và OCX và TLB cũng có bài số 17 rùi = chán cũng ko muốn xem nữa
3/ reasmm.exe = chỉ là cái Tools đăng ký cho NET thôi mà ... mà cái cái DLL của NET cũng chỉ là COM ActiveX thôi

...
nn/ suy cho cùng có 1 cái TLB mà ko có cái DLL của nó đi kèm thì = tịt toàn tập à -0-0-0-
 
Lần chỉnh sửa cuối:
Upvote 0
1/ reasmm.exe = xem nguyên tối qua các kiểu có một mớ kiếm thức rồi = chán ko muốn xem nữa
2/ cái đăng ký + hủy đăng ký ActiveX DLL & EXE và OCX và TLB cũng có bài số 17 rùi = chán cũng ko muốn xem nữa
3/ reasmm.exe = chỉ là cái Tools đăng ký cho NET thôi mà ... mà cái cái DLL của NET cũng chỉ là COM ActiveX thôi
Chạy dll VB6 cho Excel 64 thông qua cái ActiveX thấy bị chậm hơn so với khi chạy trực tiếp trên Excel 32. Không biết có đúng vậy không bạn nhỉ?
 
Upvote 0
Chạy dll VB6 cho Excel 64 thông qua cái ActiveX thấy bị chậm hơn so với khi chạy trực tiếp trên Excel 32. Không biết có đúng vậy không bạn nhỉ?
1/ 9 xác là nó đấy ... nhưng có cái lại nhanh hơn ( Tùy theo cách MÌnh code vvv)
2/ ActiveX DLL nhanh hơn ActiveX EXE ... nhưng ko đáng kể vài mili giây thôi
3/ Viết hết vào DLL xong dùng EXE mà load vậy ta có 2 cái
 
Upvote 0
3/ reasmm.exe = chỉ là cái Tools đăng ký cho NET thôi mà ... mà cái cái DLL của NET cũng chỉ là COM ActiveX thôi

...
nn/ suy cho cùng có 1 cái TLB mà ko có cái DLL của nó đi kèm thì = tịt toàn tập à -0-0-0-

Ngâm cứu thêm đi bạn. Sai rồi.
Máy tính Windows nào giờ đây mà không có sẵn cái Net Framework.

Tạo DLL trong VS muốn dùng cho Com thì phải thiết lập trong Build properties.
(Đây là cái ProtectPDF.dll mà tôi dùng trong bài post trước)

pdf.png
 
Upvote 0
Cái file *.bat Or *.cmd dùng reasmm.exe đăng ký đó rách việc lắm nếu họ dùng NET 2.0 thì mất công chỉnh lại
Nếu hay ho thì viết thành code tự động lấy cái Ver NET ý .... mà suy cho cùng chỉ hổ trợ cho NET nên cũng ít quan tâm nữa
Bài đã được tự động gộp:

Ngâm cứu thêm đi bạn. Sai rồi.
Máy tính Windows nào giờ đây mà không có sẵn cái Net Framework.
Tạo DLL trong VS muốn dùng cho Com thì phải thiết lập trong Build properties.

View attachment 275973
Mạnh dùng VB6 chỉ học code ... còn chính là Delphi ... Nên NET với Mạnh ko có giá trị
 
Upvote 0
1/ Nếu là Mạnh thì mạnh sẻ chon Học C# chứ ko bao giờ chọn VB.NET
2/ nếu xác định học 2 cái trên thì xác định Pack + Unpack đi là vừa vì code họ sẻ dòm chút chút đấy
3/ Nếu Pack thì xác định Fix virus đi là vừa ... ko lẻ ta lại bao biện lý sự cùn
4/ sẻ có 1 mớ File chứ ko phải 1 File = lo học thêm cái đóng gói đi cho sớm
5/ Nó cũng chỉ là COM ActiveX nên đi đâu cũng mang theo 1 mớ File và đăng ký nó ( nếu lách ko đăng ký cũng có đấy )
...
...
Nó ko phải là mã gốc ( tức mã máy ) nên chạy thua C++ Or Delphi cùng cách viết + Thuật toán ....
.....
còn dài kỳ sau nói tiếp
 
Upvote 0
Cái file *.bat Or *.cmd dùng reasmm.exe đăng ký đó rách việc lắm nếu họ dùng NET 2.0 thì mất công chỉnh lại
Nếu hay ho thì viết thành code tự động lấy cái Ver NET ý .... mà suy cho cùng chỉ hổ trợ cho NET nên cũng ít quan tâm nữa
Bài đã được tự động gộp:


Mạnh dùng VB6 chỉ học code ... còn chính là Delphi ... Nên NET với Mạnh ko có giá trị
Giờ khi cài Windows, Net 2.0 ở đâu ra???
Trông chờ các Delphi dll, App có ích của bạn cho người dùng.

À code trong ProtectPDF.dll là C#. Tôi cũng đang mò mẫm a bờ cờ thôi.

Screen Shot 2022-05-15 at 09.39.11.png
 
Upvote 0
Giờ khi cài Windows, Net 2.0 ở đâu ra???
Trông chờ các Delphi dll, App có ích của bạn cho người dùng.

À code trong ProtectPDF.dll là C#. Tôi cũng đang mò mẫm a bờ cờ thôi.

View attachment 275974
C# hay đó ... thong thả học đi
mà họ ko cài Net 4.0 lấy đâu ra có ... trên máy tôi có từ Ver 1 to 4 đấy ... vì tôi hay phá nên mới cài ... chủ yếu vọc khi rảnh thôi ... rồi nó ra cái gì nó ra kiểu con ních chơi oẳn tù tỳ

1652582598154.png
 
Upvote 0
Gì vậy? Khi cài Windows mặc định là đã có Net 3.5 tối thiểu rồi (Windows 7), Windows 10 là 4.6
Không có đâu bạn ơi. Tôi không muốn cãi nhau nên tôi chưa từng nói nhưng có người hiểu sai.
Khi cài xong Windows 10 vẫn chưa có .Net 3.5 đâu. Muốn có thì phải vào CP "bật nó lên. Xem anh Bill hướng dẫn nhé.

1.png

2.png

3.png

4.png

Nhiều người nghĩ là .Net CÓ SẴN TRÊN MÁY rồi, chỉ là chưa được bật. Bây giờ chỉ cần bật là có ngay tắp lự. Làm gì có chuyện lạ đó.

Đọc thấy là trong CP phải "bật" rồi nhấn OK. Đến lúc này anh Bill mới KẾT NỐI internet để tải về và cài đặt. Nếu đúng hôm đó bị mất mạng mà nhấn OK thì sau một hồi anh Bill sẽ hiển thị thông báo lỗi. Cả ngày hôm đó sẽ ngồi nhậu thôi. Không có chuyện có sẵn trên máy, chỉ cần bật rồi dùng đâu. Chỉ khi nhấn OK thì Windows mới kết nối mạng, tải về và cài đặt. Cũng có thể không vào CP mà tự tìm trên mạng rồi tải về. Những ai còn muốn cố cãi là .NET có sẵn trên máy, chỉ bật rồi dùng, không tin bài viết ở


thì thì chỉ cần làm thế này: Giả sử hiện chưa có .NET (vd. cài Custom UI Editor mà chưa có .NET thì sẽ có thông báo, không cài được) vì từ khi cài Windows 10 chưa từng cài .NET. Trước hết hãy ngắt mạng bằng cách rút cáp mạng chẳng hạn. Sau đó "bật" và OK. Đợi một lúc anh Bill sẽ thông báo lỗi.
 
Lần chỉnh sửa cuối:
Upvote 0
Không có đâu bạn ơi. Tôi không muốn cãi nhau nên tôi chưa từng nói nhưng có người hiểu sai.
Khi cài xong Windows 10 vẫn chưa có .Net 3.5 đâu. Muốn có thì phải vào CP "bật nó lên. Xem anh Bill hướng dẫn nhé.
Nếu nói về phiên bản NET Framework chính xác là 3.5 trong Window 10, 11 như anh nói là đúng. Nó không được mặc định "enabled" mà phải vô CP kích hoạt nó.
Còn phiên bản NET Framework 4.6 là được cài mặc định cùng với Windows và đã "Enabled". Khi có kết nối mạng thì Windows nó sẽ thông báo đang có phiên bản NET mới hơn (4.7, 4.8 gì đó) sẽ download và cập nhật.
Một số ứng dụng được viết trên nền NET 3.5 nên nó yêu cầu phải cài đặt thêm NET 3.5.

Link: https://docs.microsoft.com/en-us/ar...amework-is-included-in-what-version-of-the-os

Screen Shot 2022-05-15 at 19.08.39.png
 
Upvote 0
Còn phiên bản NET Framework 4.6 là được cài mặc định cùng với Windows và đã "Enabled".

Chính xác anh. Em cũng đã nói bao nhiêu lần rồi, gửi cả link của Microsoft chỉ rằng Windows luôn luôn có sẵn một phiên bản .NET Framework mặc định tương ứng và đã chạy ầm ầm cùng Windows ngay sau khi Windows được cài đặt lên máy tính.
Nếu không phải vậy thì những người dùng Power Query giờ này còn loay hoay cài/ bật .Net Framework ấy chứ.
 
Upvote 0
Chính xác anh. Em cũng đã nói bao nhiêu lần rồi, gửi cả link của Microsoft chỉ rằng Windows luôn luôn có sẵn một phiên bản .NET Framework mặc định tương ứng và đã chạy ầm ầm cùng Windows ngay sau khi Windows được cài đặt lên máy tính.
Nếu không phải vậy thì những người dùng Power Query giờ này còn loay hoay cài/ bật .Net Framework ấy chứ.
mà ko biết viết một số thứ liên quan tới .NET Framework xong qua máy MAC Or Linux có dùng được ko nữa hay lại phải cài nó ???
 
Upvote 0
Nếu nói về phiên bản NET Framework chính xác là 3.5 trong Window 10, 11 như anh nói là đúng. Nó không được mặc định "enabled" mà phải vô CP kích hoạt nó.
Còn phiên bản NET Framework 4.6 là được cài mặc định cùng với Windows và đã "Enabled".
- Có những phần mềm khi cài nó đòi .NET 3.5

- Tôi chỉ muốn nói là .NET 3.5 muốn cài thì phải "bật" trong CP (hoặc tự tải về từ mạng). Và nhiều người lầm tưởng rằng đã có sẵn trên máy, chỉ cần "bật" là dùng. Không phải thế. Có "bật" mà không có mạng thì chỉ ngồi nhậu thôi. Lầm tưởng ở chỗ: nghĩ là có sẵn trên máy, chỉ "bật" là dùng.
 
Upvote 0
mà ko biết viết một số thứ liên quan tới .NET Framework xong qua máy MAC Or Linux có dùng được ko nữa hay lại phải cài nó ???
Tôi nghĩ, khi bạn chọn giữa các ngôn ngữ để học thì bạn cũng đã phải biết qua các framework và đặc điểm của nó mà ngôn ngữ đó chạy trên đó rồi chứ. Bạn đang viết Delphi chạy trên framework nào?
Viết phục vụ cho máy Windows không cũng mệt rồi, còn tính tới Mac, Linux làm gì.
 
Upvote 0
Web KT
Back
Top Bottom