VBA là file *.exe nào?

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi hoxulee, 7 Tháng tám 2005.

5,417 lượt xem

  1. hoxulee

    hoxulee Thành viên sơ cấp

    Bài viết:
    16
    Đã được thích:
    0
    Nơi ở:
    Vietnam
    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.
     
    #1
  2. workman

    workman Thành viên hoạt động

    Bài viết:
    372
    Đã được thích:
    0
    Nơi ở:
    Ho Chi Minh
    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.
     
    #2
  3. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội
    Tôi không rõ bạn muốn gì?
     
    #3
  4. hoxulee

    hoxulee Thành viên sơ cấp

    Bài viết:
    16
    Đã được thích:
    0
    Nơi ở:
    Vietnam
    Ý 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.
     
    #4
  5. StonyHeartedMan

    StonyHeartedMan Thành viên sơ cấp

    Bài viết:
    306
    Đã được thích:
    2
    Nơi ở:
    Hà nội
    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é :)
     
    Last edited: 8 Tháng tám 2005
    #5
  6. hoxulee

    hoxulee Thành viên sơ cấp

    Bài viết:
    16
    Đã được thích:
    0
    Nơi ở:
    Vietnam
    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
     
    #6
  7. StonyHeartedMan

    StonyHeartedMan Thành viên sơ cấp

    Bài viết:
    306
    Đã được thích:
    2
    Nơi ở:
    Hà nội
    :biggrin:
    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)
    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 :)
     
    #7
  8. hoxulee

    hoxulee Thành viên sơ cấp

    Bài viết:
    16
    Đã được thích:
    0
    Nơi ở:
    Vietnam
    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.
     
    #8
  9. workman

    workman Thành viên hoạt động

    Bài viết:
    372
    Đã được thích:
    0
    Nơi ở:
    Ho Chi Minh
    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.
     
    #9
  10. hoxulee

    hoxulee Thành viên sơ cấp

    Bài viết:
    16
    Đã được thích:
    0
    Nơi ở:
    Vietnam
    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).
     
    Last edited: 9 Tháng tám 2005
    #10
  11. hieuhavo

    hieuhavo Thành viên sơ cấp

    Bài viết:
    7
    Đã được thích:
    0
    Nơi ở:
    Tp.HCM
    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..
     
    #11
  12. workman

    workman Thành viên hoạt động

    Bài viết:
    372
    Đã được thích:
    0
    Nơi ở:
    Ho Chi Minh
    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.
     
    #12
  13. daovietcuong

    daovietcuong Guest

    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!
     
    #13

Chia sẻ trang này