VBA là file *.exe nào?

  • Thread starter hoxulee
  • Ngày gửi
H

hoxulee

Sơ cấp
25/6/05
16
0
0
42
Vietnam
#1
Khi ta nhấn Alt+F11 thì vào được VBA Editor, vậy VBA Editor là file *.exe nào, và trong Excel, FrontPage, Access... thì cũng là 1 file này phải không?
Cám ơn.
 
W

workman

Cao cấp
22/7/05
372
0
0
46
Ho Chi Minh
#2
Bạn đưa đề khó quá nhỉ. Xem ra đây không chỉ là vấn đề của Excel Club mà thực ra là câu hỏi của dân mê lập trình VBA.
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
548
51
28
41
Hà Nội
www.bluesofts.net
#3
hoxulee nói:
Khi ta nhấn Alt+F11 thì vào được VBA Editor, vậy VBA Editor là file *.exe nào, và trong Excel, FrontPage, Access... thì cũng là 1 file này phải không?
Cám ơn.
Tôi không rõ bạn muốn gì?
 
H

hoxulee

Sơ cấp
25/6/05
16
0
0
42
Vietnam
#4
Ý tôi hỏi khi mình nhấn Alt+F11 thì ứng dụng office (chẳng hạn Excel) sẽ gọi file tên gì ở đâu trong máy để xuất hiện cửa sổ VBA Editor đó mà.
Chẳng hạn khi mình click vào file *.hlp thì windows gọi hcw.exe trong máy để xem file này.
 
S

StonyHeartedMan

Cao cấp
2/10/04
306
2
0
Hà nội
www.vnuni.net
#5
Dùng file monitor (filemon) để biết chương trình đụng chạm (gọi tới) file nào (chú ý: ko chỉ là exe đâu nhé, có thể là DLLs, SCR, v.v...) và dùng dùng registry monitor (regmon) để biết chương trình ghi vào đâu trong registry (vì vậy bác nào bảo về phần mềm bằng registry là dễ "xơi" nhất đấy :) (anyways, ko phải ai cũng biết được đâu, chống người ngay thì khó gì, chống kẻ gian thì..hầu như cách nào cũng ra được - chỉ khác nhau về thời gian thực hiện mà thôi.) Hic, lại cr***ck rồi, tại 2 công cụ trên là 2 trong nhiều "đồ nghề" của dân CR**CKer.

Hic, cách này có vẻ hơi...pro nhỉ. Hy vọng người hỏi có thể thực hiện được!

Hope that helps!

PS: Mấy cái PM trên thì chịu khó google nhé :)
 
Sửa lần cuối:
H

hoxulee

Sơ cấp
25/6/05
16
0
0
42
Vietnam
#6
Cám ơn câu trả lời của bác StonyHeartedMan. Tôi cũng thường dùng các phần mềm bẻ khóa VBA xem source để tự học VBA, như bác levanduyet giới thiệu add-ins ASAP, PUP, Spreadsheet Assistant... tôi download về, xem source mệt nghỉ. Công việc của tôi thường dính nhiều đến VBA nên nhìn mấy cái msgbox, inputbox... xấu hoắc, chán ngắt (không biết sao bác BillGate lại để cái MS Excel 5.0 Dialog còn đẹp hơn mấy cái msgbox, inputbox của VBA)
Tôi muốn ép những giao diện của các phần mềm phiên bản cũ thành giao diện XP bằng cách thêm file tên_file_chương_trình.exe.manifest vào folder chứa nó. Chẳng hạn các file *.hlp, tôi xác định file để chạy là file hcw.exe (Microsoft Help Workshop v4.03.0002), thế là tôi thêm vào một file tên là hcw.exe.manifest → giao diện XP, rất dễ nhìn. Vì vậy tôi muốn tìm file chạy VBA Editor để ép nó thành giao diện XP đó mà, tìm hoài không được nên hỏi các bác
 
S

StonyHeartedMan

Cao cấp
2/10/04
306
2
0
Hà nội
www.vnuni.net
#7
hoxulee nói:
Cám ơn câu trả lời của bác StonyHeartedMan. Tôi cũng thường dùng các phần mềm bẻ khóa VBA xem source để tự học VBA, như bác levanduyet giới thiệu add-ins ASAP, PUP, Spreadsheet Assistant... tôi download về, xem source mệt nghỉ.
:biggrin:
hoxulee nói:
Công việc của tôi thường dính nhiều đến VBA nên nhìn mấy cái msgbox, inputbox... xấu hoắc, chán ngắt (không biết sao bác BillGate lại để cái MS Excel 5.0 Dialog còn đẹp hơn mấy cái msgbox, inputbox của VBA)
Giao diện đẹp có cả 1 lý thuyết về nó đấy, ở đây hoxulee đang nói đến "màu sắc" của giao diện, quan trọng là giao diện đó được thiết kế chuẩn nhìn lâu không mỏi mẳt, không thấy chán mắt... (Bọn M$ này đã thuê cực nhiều dân thiết kế để làm việc này rồi)
hoxulee nói:
Tôi muốn ép những giao diện của các phần mềm phiên bản cũ thành giao diện XP bằng cách thêm file tên_file_chương_trình.exe.manifest vào folder chứa nó. Chẳng hạn các file *.hlp, tôi xác định file để chạy là file hcw.exe (Microsoft Help Workshop v4.03.0002), thế là tôi thêm vào một file tên là hcw.exe.manifest → giao diện XP, rất dễ nhìn. Vì vậy tôi muốn tìm file chạy VBA Editor để ép nó thành giao diện XP đó mà, tìm hoài không được nên hỏi các bác
tên_file_chương_trình.exe.manifest --> Chỉ áp dụng cho WindowsXP, Win2k or else ko áp dụng được. :). Dù sao bây giờ mọi người cũng hiểu được ý của bác là tại sao lại cần biết đến tên file chạy ứng dụng :)
 
H

hoxulee

Sơ cấp
25/6/05
16
0
0
42
Vietnam
#8
hà hà hà, sau khi xem kỹ, tôi thử thêm excel.exe.manifest, msaccess.exe.manifest... (nói chung các file *.exe của bộ office) vào folder của nó, thế là từ nay các inputbox, msgbox... trong VBA đều có giao diện XP, nhìn đỡ chán, màu mè tý cho đời thêm vui ấy mà, lock topic này được rồi.
 
W

workman

Cao cấp
22/7/05
372
0
0
46
Ho Chi Minh
#9
hoxulee nói:
hà hà hà, sau khi xem kỹ, tôi thử thêm excel.exe.manifest, msaccess.exe.manifest... (nói chung các file *.exe của bộ office) vào folder của nó, thế là từ nay các inputbox, msgbox... trong VBA đều có giao diện XP, nhìn đỡ chán, màu mè tý cho đời thêm vui ấy mà, lock topic này được rồi.
Khoan khoan, đừng đóng vội! Bạn chỉ rõ hơn là thêm manifest như thế nào đi. Tôi cũng muốn thử xem sao.
 
H

hoxulee

Sơ cấp
25/6/05
16
0
0
42
Vietnam
#10
Bác chép đoạn sau vào notepad, save as thành file tên_file_chương_trình.exe.manifest (quan trọng nhớ thêm .exe.manifest), sau đó chép vào trong folder có chương trình muốn có giao diện XP
(VD: hcw.exe.manifest cho hcw.exe - Microsoft Help Workshop v4.03.0002 - để xem mấy file help đời cũ *.hlp).
Mục đích của tôi là muốn mấy cái userform trong VBA có giao diện XP kia, nhưng rất tiếc là không được, chỉ có mấy cái inputbox, msgbox, dialog... là có tác dụng —> cũng như không (hì). Tôi có người bạn chê mấy cái form (Micrsoft Form 2.0 Object Library) đến nỗi khi viết một chương trình dự toán nho nhỏ bằng excel không thèm dùng form của VBA mà chuyển qua dùng MS Excel 5.0 Dialog, dĩ nhiên hơi cực một chút)
Ghi chú: một số chương trình có thể không chạy được (ít), và cách này chỉ áp dụng cho WinXP.


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"

manifestVersion="1.0">
<assemblyIdentity processorArchitecture="*" version="5.1.0.0"

type="win32" name="Microsoft.Windows.Shell.shell32"/>
<description>Windows Shell</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
publicKeyToken="6595b64144ccf1df" language="*"
processorArchitecture="*" />
</dependentAssembly>
</dependency>
</assembly>


Bây giờ dán đoạn trên vào notepad, save thành excel.exe.manifest trong folder có chứa excel.exe, sau đó mở excel lên, Alt+F11, thử inputbox, import file... thấy khác liền (tương tự cho access, word... hay bất cứ chương trình nào muốn giao diện XP).
 
Sửa lần cuối:
H

hieuhavo

Sơ cấp
2/11/05
7
0
0
43
Tp.HCM
#11
khi viết một module (hoặc một chương trình) trong VB của Excel, muốn lưu ở dạng file .xla ( M.Excel add-in) thì làm cách nào? các anh chị và các bạn cứu mình với vì mình đang mò mẫm "tập viết" bằng VB nhưng không biết làm răng?

very very ...Thanks..
 
W

workman

Cao cấp
22/7/05
372
0
0
46
Ho Chi Minh
#12
hieuhavo nói:
khi viết một module (hoặc một chương trình) trong VB của Excel, muốn lưu ở dạng file .xla ( M.Excel add-in) thì làm cách nào? các anh chị và các bạn cứu mình với vì mình đang mò mẫm "tập viết" bằng VB nhưng không biết làm răng?

very very ...Thanks..
Sau khi bạn đã làm xong VBA, bạn vào lại worksheet gốc, chọn Save As (hay F12), rồi Save dưới dạng xla.
 
D

daovietcuong

Guest
#13
Dear hieuhavo
--------------
Cũng có cách khác để sử dụng lại code trong module bạn đã viết. Đó là bạn có thể export module ra một file *.bas sau đó lại import trở lại. Làm cách này bạn có thể nắp ráp cho các tập tin *.xls khác nhau một cách chủ động hơn mà không làm ảnh hưởng đến ứng dụng trên excel của người khác!
------------------------------------
Alway carreful - always successful!
 

BQT trực tuyến

  • Rua Diu Dang
    Rua Diu Dang
    Điều hành cao cấp

Thành viên trực tuyến

  • daongocnam0603
  • Rua Diu Dang
  • tuyet0504



Xem nhiều