làm cách nào để tạo code VBA tự động mở 1 file word khi mình click từ file excel? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

infogated

Thành viên mới
Tham gia
9/2/20
Bài viết
23
Được thích
5
xin phép được hỏi mọi người ạ, mình đang làm 1 file quản lý học sinh bằng excel, gồm 1 folder có chứa file excel vào các file bài tập dạng docx, trong file excel có các nút bấm, khi click vào nút bấm đó sẽ tự động mở ra file word bài tập đặt sẵn trong folder chung với file excel đó, nhưng khi mình copy nguyên folder đó sang máy tính khác, thì lại phải sửa lại đường dẫn trong code, vậy cho mình hỏi có cách nào để cho dù mình copy folder đi đâu thì cũng không cần sửa code, chỉ việc mở ra là dùng thôi được không ạ? mình còn kém ở phần này, mong mọi người chỉ giúp ạ, mình cám ơn
 
Bạn không thể gõ đường dẫn cứng nhắc.
Giả sử mọi tập tin doc có tên là baitap1.docx, baitap2.docx, ..., baitap100.docx.
Tên thư mục không quan trọng. Khi cần mở tập tin nào đó thì đường dẫn đầy đủ tới nó là:
ThisWorkbook.Path & "\" & "<tên tập tin>".

Vd. cần mở baitap23.docx thì đường dẫn tới nó là:

ThisWorkbook.Path & "\" & "baitap23.docx"
--------

Giải thích: ThisWorkbook.Path luôn trả về đường dẫn đầy đủ tới thư mục chứa tập tin Excel, cho dù ở thời điểm bất kỳ đường dẫn đầy đủ tới thư mục có dạng thế nào. Do tập tin Excel và Word cùng thư mục nên đó cũng là thư mục chứa các tập tin Word. Vì thế chỉ cần ghép ThisWorkbook.Path & "\" và "baitap23.docx" thì có đường dẫn đầy đủ tới tập tin "baitap23.docx"

Bạn cũng thể đặt các DOCX vào cùng chung một thư mục riêng khác . Vd. trong cùng 1 thư mục XYZ nào đó có tập tin Excel và thư mục "BAI TAP". Và các tập tin DOCX ở trong thư mục "BAI TAP". Lúc này đường dẫn tới "baitap23.docx" là:

ThisWorkbook.Path & "\BAI TAP\" & "baitap23.docx"
 
Lần chỉnh sửa cuối:
Bạn không thể gõ đường dẫn cứng nhắc.
Giả sử mọi tập tin doc có tên là baitap1.docx, baitap2.docx, ..., baitap100.docx.
Tên thư mục không quan trọng. Khi cần mở tập tin nào đó thì đường dẫn đầy đủ tới nó là:
ThisWorkbook.Path & "\" & "<tên tập tin>".

Vd. cần mở baitap23.docx thì đường dẫn tới nó là:

ThisWorkbook.Path & "\" & "baitap23.docx"
--------

Giải thích: ThisWorkbook.Path luôn trả về đường dẫn đầy đủ tới thư mục chứa tập tin Excel, cho dù ở thời điểm bất kỳ đường dẫn đầy đủ tới thư mục có dạng thế nào. Do tập tin Excel và Word cùng thư mục nên đó cũng là thư mục chứa các tập tin Word. Vì thế chỉ cần ghép ThisWorkbook.Path & "\" và "baitap23.docx" thì có đường dẫn đầy đủ tới tập tin "baitap23.docx"

Bạn cũng thể đặt các DOCX vào cùng chung một thư mục riêng khác . Vd. trong cùng 1 thư mục XYZ nào đó có tập tin Excel và thư mục "BAI TAP". Và các tập tin DOCX ở trong thư mục "BAI TAP". Lúc này đường dẫn tới "baitap23.docx" là:

ThisWorkbook.Path & "\BAI TAP\" & "baitap23.docx"
cám ơn bạn nhiều ạ, để mình thử xem thế nào hihi
 
xin phép được hỏi mọi người ạ, mình đang làm 1 file quản lý học sinh bằng excel, gồm 1 folder có chứa file excel vào các file bài tập dạng docx, trong file excel có các nút bấm, khi click vào nút bấm đó sẽ tự động mở ra file word bài tập đặt sẵn trong folder chung với file excel đó, nhưng khi mình copy nguyên folder đó sang máy tính khác, thì lại phải sửa lại đường dẫn trong code, vậy cho mình hỏi có cách nào để cho dù mình copy folder đi đâu thì cũng không cần sửa code, chỉ việc mở ra là dùng thôi được không ạ? mình còn kém ở phần này, mong mọi người chỉ giúp ạ, mình cám ơn
Thử sử dụng File, trước tiên thực hiện theo trình tự từ 1 tới 3
1/ Trong ổ D tạo 1 Folder có tên là MÔN THI.
2/ Mở Folder MÔN THI và tạo các Folder có tên như C3: C10 như trong File (bạn có thể sửa tên tùy ý theo tên Folder).
3/ Tạo mỗi đề thi hay 1 bài tập là 1 File Word bỏ vào Folder có tên tương ứng tên như C3: C10 của File.

Cách dùng như sau:
- Tại C1 chọn tên Folder tương ứng với nơi chứa File bài tập. Xong nhấn nút nó sẽ lấy tên File Word vào (bắt đầu từ A2) và tạo HyperLink.
- Click vào các Cell có tên từ A2 trở xuống nó sẽ mở File Word của bài tập đó.
 

File đính kèm

Lần chỉnh sửa cuối:
Sub Button12_Click()
Set wordapp = CreateObject("word.Application")
wordapp.Documents.Add Template:=ThisWorkbook.Path & "\" & "1.doc"
wordapp.Visible = True
End Sub
mình vừa theo hướng dẫn làm ntn, có vẻ ổn bạn ơi
Có vẻ ổn? Bạn không tin chắc là ổn? Phí công tôi giải thích kỹ.
 
Template thì nên tạo thành đúng là File : *.dot hoặc *.dotx
nói thật là mình mới tập cái này thôi, vì trc giờ mình chỉ làm excel cơ bản, bạn có thể giải thích rõ hơn hộ mình dc ko ạ, mình cám ơn nhiều hihi
Bài đã được tự động gộp:

Thử sử dụng File, trước tiên thực hiện theo trình tự từ 1 tới 3
1/ Trong ổ D tạo 1 Folder có tên là MÔN THI.
2/ Mở Folder MÔN THI và tạo các Folder có tên như C3: C10 như trong File (bạn có thể sửa tên tùy ý theo tên Folder).
3/ Tạo mỗi đề thi hay 1 bài tập là 1 File Word bỏ vào Folder có tên tương ứng tên như C3: C10 của File.

Cách dùng như sau:
- Tại C1 chọn tên Folder tương ứng với nơi chứa File bài tập. Xong nhấn nút nó sẽ lấy tên File Word vào (bắt đầu từ A2) và tạo HyperLink.
- Click vào các Cell có tên từ A2 trở xuống nó sẽ mở File Word của bài tập đó.
cám ơn bạn, mình đã thử và thấy có hoạt động, để mai mình thử gửi qua cho các bạn giáo viên chạy thử xem thế nào hihi
Bài đã được tự động gộp:

Có vẻ ổn? Bạn không tin chắc là ổn? Phí công tôi giải thích kỹ.
xin lỗi đã làm bạn hiểu nhầm, vì khi mình check cách bạn hướng dẫn mình thấy có hoạt động, vì mình mới tập làm excel nên mấy hôm trc thậm chí gõ code nó còn không chạy nữa :)), nay mình copy 1 code trên mạng rồi làm theo bạn hướng dẫn thấy có hoạt động nên cũng khá vui, nhưng chưa biết là khi đưa sang các máy khác có hoạt động không nên mình mới cmt với bạn kia là " khá là ổn", tính gửi qua các máy khác của các bạn giáo viên chạy thử xem ntn rồi mới phản hồi lại cho bạn biết, chứ không có ý gì khác đâu ạ
Bài đã được tự động gộp:

Giọng sếp ở vn phải như thế bác ah, sếp mà khen đúng sợ cấp dưới nó tự phụ, phản ....
mình đàn ông con trai đôi khi phiên phiến vs tích cực một chút cho cuộc sống tươi sáng bác ơi :))))
 
Lần chỉnh sửa cuối:
Có vẻ ổn? Bạn không tin chắc là ổn? Phí công tôi giải thích kỹ.
Tôi thì quan tâm đến cái "ntn" hơn.
Có người dùng nó cho "như thế nào", kẻ thì lại cho "như thế này". Ở đấy mà đoán.

Giọng sếp ở vn phải như thế bác ah, sếp mà khen đúng sợ cấp dưới nó tự phụ, phản ....
Đâu có sợ tự phụ gì.
Sếp chỉ nói "có vẻ ổn" có nghĩa là "tạm chấp nhận, chưa thấy vấn đề"
Cái chỗ chưa thấy vấn đề là do chưa có thời gian kiểm hết, hoặc do không đủ khả năng để lường trước.
 
Lần chỉnh sửa cuối:
nay mình copy 1 code trên mạng rồi làm theo bạn hướng dẫn thấy có hoạt động nên cũng khá vui, nhưng chưa biết là khi đưa sang các máy khác có hoạt động không nên mình mới cmt với bạn kia là " khá là ổn", tính gửi qua các máy khác của các bạn giáo viên chạy thử xem ntn rồi mới phản hồi lại cho bạn biết, chứ không có ý gì khác đâu ạ
Cần gì phải đợi thử trên máy khác. Di chuyển thư mục sang chỗ khác, thậm chí sang đĩa khác (C, D, E) rồi chạy code cũ. Thấy lỗi không? Sau đó thì trước khi di chuyển hãy sửa lại code. Lần này còn lỗi không? Thế là biết. Muốn chắc 200% thì thử ở máy khác.
 
Cần gì phải đợi thử trên máy khác. Di chuyển thư mục sang chỗ khác, thậm chí sang đĩa khác (C, D, E) rồi chạy code cũ. Thấy lỗi không? Sau đó thì trước khi di chuyển hãy sửa lại code. Lần này còn lỗi không? Thế là biết. Muốn chắc 200% thì thử ở máy khác.
rất tuyệt, mình đã thử rồi. cám ơn một người tâm huyết như bạn, hầu như mình đọc nhiều bài trong diễn đàn bạn đều giúp đỡ rất nhiệt tình ^^
 
Web KT

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

Back
Top Bottom