Code mở file *.chm

Liên hệ QC

dinhhung0910

Thành viên mới
Tham gia
22/5/07
Bài viết
39
Được thích
10
Giới tính
Nam
Nghề nghiệp
Teacher
Lại hỏi các pro thêm một vấn đề nữa:
Mong các Pro chỉ cho code để mở một file .chm từ Excel.
thanks
 
Lại hỏi các pro thêm một vấn đề nữa:
Mong các Pro chỉ cho code để mở một file .chm từ Excel.
thanks
Để mở bất kỳ loại file nào trên Excel thì phương thức chung là:
- Gọi chương trình mở file (mà ta đang cần)
- Chỉ đường dẩn đến file cần mở
Như bạn cần mở file chm thì chương trình mở file cho loại file này là hh.exe (nằm trong C:\Windows)
Vậy cú pháp chung sẽ là:
Run Shell("C:\Windows\hh.exe Đường dẩn chứa file chm", 1)
Ví dụ:
Run Shell("C:\Windows\hh.exe C:\Documents and Settings\PC0\Desktop\Kiemhiep.chm", 1)
Ở đây file Kiemhiep.chm nằm ở thử mục C:\Documents and Settings\PC0\Desktop
 
Upvote 0
Để mở bất kỳ loại file nào trên Excel thì phương thức chung là:
- Gọi chương trình mở file (mà ta đang cần)
- Chỉ đường dẩn đến file cần mở
Như bạn cần mở file chm thì chương trình mở file cho loại file này là hh.exe (nằm trong C:\Windows)
Vậy cú pháp chung sẽ là:

Ví dụ:

Ở đây file Kiemhiep.chm nằm ở thử mục C:\Documents and Settings\PC0\Desktop
Xin hỏi thêm:
Có cách nào để cố định file chm nay cùng chung thư muc với file excel hay không? Như dùng code Thisworkbook.Path chẳng hạn?
 
Upvote 0
Xin hỏi thêm:
Có cách nào để cố định file chm nay cùng chung thư muc với file excel hay không? Như dùng code Thisworkbook.Path chẳng hạn?
Đương nhiên là được rồi... cứ thế vào thôi... Ví dụ:
PHP:
Run Shell("C:\Windows\hh.exe " & ThisWorkbook.Path & "\Kiemhiep.chm", 1)
Thậm chí có thể gọn hơn:
PHP:
Run Shell("hh.exe " & ThisWorkbook.Path & "\Kiemhiep.chm", 1)
Chú ý thật kỹ: Sau chử hh.exe có 1 khoảng trắng rồi mới đến dấu " nha
Cho em hỏi số 1 đóng vai trò gì trong lệnh Run này vậy.
Hàm Shell này có 1 số tùy chọn... bạn vừa gõ xong Kiemhiep.chm" ... rồi gõ dấu phẩy thì lập tức thấy ngay 1 số tham số
vbHide
vbMaximizedFocus
vbMinimizedFocus
...................
Nó dùng để xác định cửa sổ của file vừa mở (chẳng hạn như mở Maximum hoặc ẩn cửa số... vân vân...) ---> Bạn thí nghiệm bằng cách xóa số 1 đi rồi chạy code sẽ biết ngay chứ gì
--------------
attachment.php


---------------------------
Nói thêm:
Nói thật là trước giờ tôi chưa từng xài hàm này, nhưng ngay sau khi 2 bạn vừa hỏi, tôi tìm trong Help của VBA và phát hiện hàm Shell với hướng dẩn như sau:

attachment.php


Thế là mày mò và thí nghiệm... (may mà nó thành công)
Các bạn cũng có thể học theo kiểu ấy (tôi nghĩ đó là phương pháp đơn giản nhất)
 

File đính kèm

  • untitled.JPG
    untitled.JPG
    56.6 KB · Đọc: 128
  • untitled2.JPG
    untitled2.JPG
    41.3 KB · Đọc: 123
Lần chỉnh sửa cuối:
Upvote 0
Trong trường hợp dùng .chm làm file help cho chương trình thì cách gọi ra từng trang cụ thể như thế nào vì trong chương trình có mục HelpFile và HelpIndex, tôi nghĩ nếu định nghĩa được 2 cái đó thì việc hiển thị sẽ đạt được yêu cầu. Ngày trước tôi cũng có làm help cho lisp bằng .hlp cũng đại khái như thế nhưng với .chm thì chưa thử, không biết có giống nhau không nhỉ?
 
Upvote 0
Khi thực hiện lệnh Run Shell thì báo lỗi:

Để mở bất kỳ loại file nào trên Excel thì phương thức chung là:
- Gọi chương trình mở file (mà ta đang cần)
- Chỉ đường dẩn đến file cần mở
Như bạn cần mở file chm thì chương trình mở file cho loại file này là hh.exe (nằm trong C:\Windows)
Vậy cú pháp chung sẽ là:

Ví dụ:

Ở đây file Kiemhiep.chm nằm ở thử mục C:\Documents and Settings\PC0\Desktop
Cho em hỏi anh NDU thế này: Em thực hiện mở cho một file .CHM tên là: ABC.CHM
File CHM co duong dan: ""C:\ABC.Chm"
Theo phần hướng dẫn trên em ghi code nhu sau:
PHP:
Public Sub Call_CHM()
If PathExits("C:\ABC.chm") = False Then
    MsgBox "File giup do hien tai khong co trong may, ban vui long kiem tra lai", vbInformation, "Thong bao:"
Else
    Run Shell("C:\ABC.chm", vbNormalNoFocus)
End If
End Sub
Khi chạy thì Excel báo lỗi: Run-time Erorr '5': invalid procedure call argument
Như vậy, trường hợp này em phải xử lý sao đây?
Nhờ Anh chị giúp đỡ.
Cảm ơn anh chị.
 
Upvote 0
Cho em hỏi anh NDU thế này: Em thực hiện mở cho một file .CHM tên là: ABC.CHM
File CHM co duong dan: ""C:\ABC.Chm"
Theo phần hướng dẫn trên em ghi code nhu sau:
PHP:
Public Sub Call_CHM()
If PathExits("C:\ABC.chm") = False Then
    MsgBox "File giup do hien tai khong co trong may, ban vui long kiem tra lai", vbInformation, "Thong bao:"
Else
    Run Shell("C:\ABC.chm", vbNormalNoFocus)
End If
End Sub
Khi chạy thì Excel báo lỗi: Run-time Erorr '5': invalid procedure call argument
Như vậy, trường hợp này em phải xử lý sao đây?
Nhờ Anh chị giúp đỡ.
Cảm ơn anh chị.
Xem lại từ đầu đi. Bạn viết đâu có giống như người ta hướng dẫn chứ ---> Đoạn "C:\Windows\hh.exe " bạn "liệng" đi đâu?
 
Upvote 0
Xem lại từ đầu đi. Bạn viết đâu có giống như người ta hướng dẫn chứ ---> Đoạn "C:\Windows\hh.exe " bạn "liệng" đi đâu?
ồ.
Đúng là mình "liệng" đi đâu mất rồi.
Cảm ơn anh NDU.
Xin lỗi đã làm phiền anh, tại em đọc không kỹ.
 
Upvote 0
Web KT

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

Back
Top Bottom