Lấy tên nội dung của file ảnh vào excel và tự động mở file ảnh khi chọn nội dung đó

Liên hệ QC
Em đóng vào, thấy code vẫn chạy bình thường mà anh. File vẫn chạy kể cả khi copy sang 1 folder khác ạ.
Ý tôi thế này. Bạn mở tập tin rồi nhấn GetImages. Sau đó chọn 1 ô nội dung. Bạn sẽ thấy một folder mở ra và ảnh được chọn. Bây giờ bạn lưu tập tin rồi đóng nó. Sau đó lại mở ra rồi không nhấn GetImages nữa mà chọn 1 ô nội dung. Bạn sẽ thấy là không có folder nào được mở ra nữa.
Như vậy mỗi lần mở tập tin bạn lại phải nhấn GetImages để chạy code. Rách việc quá. Như thế thì code không nên gán cho nút GetImages mà nên cho vào Workbook_Open. Thế thôi.
 
Ý tôi thế này. Bạn mở tập tin rồi nhấn GetImages. Sau đó chọn 1 ô nội dung. Bạn sẽ thấy một folder mở ra và ảnh được chọn. Bây giờ bạn lưu tập tin rồi đóng nó. Sau đó lại mở ra rồi không nhấn GetImages nữa mà chọn 1 ô nội dung. Bạn sẽ thấy là không có folder nào được mở ra nữa.
Như vậy mỗi lần mở tập tin bạn lại phải nhấn GetImages để chạy code. Rách việc quá. Như thế thì code không nên gán cho nút GetImages mà nên cho vào Workbook_Open. Thế thôi.
Anh batman1 nói đúng đó, nhờ anh chỉnh lại giúp code cho bọn em mới nhé!
 
Ý tôi thế này. Bạn mở tập tin rồi nhấn GetImages. Sau đó chọn 1 ô nội dung. Bạn sẽ thấy một folder mở ra và ảnh được chọn. Bây giờ bạn lưu tập tin rồi đóng nó. Sau đó lại mở ra rồi không nhấn GetImages nữa mà chọn 1 ô nội dung. Bạn sẽ thấy là không có folder nào được mở ra nữa.
Như vậy mỗi lần mở tập tin bạn lại phải nhấn GetImages để chạy code. Rách việc quá. Như thế thì code không nên gán cho nút GetImages mà nên cho vào Workbook_Open. Thế thôi.
Em cũng không hiểu mấy về code, nhờ anh và anh ndu sửa giúp em lại với. Đề tài rất hay và đang sôi nổi quá anh. Em cảm ơn anh rất nhiều.
 
Anh batman1 nói đúng đó, nhờ anh chỉnh lại giúp code cho bọn em mới nhé!
Thì tôi đã nói rồi mà. Bạn có 2 lựa chọn:
- đặt 1 nút GetImages như bây giờ và mỗi lần mở tập tin phải nhấn nút.
- gọi Sub GetImages trong vd. Workbook_Open. Tức: mở tập tin -> bỏ nút GetImages -> Alt + F11 -> đúp chuột vào ThisWorkbook -> dán code sau và lưu lại tập tin
Mã:
Private Sub Workbook_Open()
    GetImages
End Sub
-------------
Nếu nói như bạn Kieutri
File vẫn chạy kể cả khi copy sang 1 folder khác ạ
Thì phải ý thức rõ như sau - nói rõ thôi để khỏi bất ngờ nếu sảy ra những trường hợp mà tôi liệt kê:

Giả sử bạn chạy code bằng cách nhấn nút hoặc gọi GetImages trong Workbook_Open và có 10 ảnh, 10 nội dung. Nếu bây giờ bạn chỉ copy tập tin Excel sang 1 folder khác mà không là copy folder chứa tập tin Excel sang folder khác thì cho dù bạn có nút GetImages và bạn nhấn nó khi mở tập tin hay không có nút mà chỉ có code tôi ghi ở trên thì:
- nếu folder mới chứa tập tin Excel không có ảnh thì cột nội dung sẽ trống nhưng cột ảnh vẫn có 10 ảnh. Tất nhiên là 10 ảnh lỗi.
- nếu folder mới có ít hơn 10 ảnh, vd. chỉ có 8 ảnh thì cột nội dung chỉ có 8 nội dung nhưng cột ảnh vẫn có 10 ảnh - 8 ảnh mới và 2 ảnh lỗi.

Thậm chí nếu không copy tập tin Excel đi đâu nhưng một ngày đẹp trời bạn lỡ xóa 2 ảnh thì ngày đẹp trời hôm sau khi bạn mở tập tin Excel thì bạn vẫn có 10 ảnh - 8 ảnh tốt và 2 ảnh xấu (do đã xóa) trong khi cột nội dung chỉ có 8 nội dung.

Những cái tôi chỉ ra chỉ là đề phòng khi lỡ xóa ảnh, khi chỉ copy tập tin Excel sang chỗ khác. Tất nhiên những ảnh lỗi chỉ thừa và làm ngứa mắt thôi chứ không gây tác hại gì, không gây lỗi.

Nếu muốn sửa thì cũng rất dễ nhưng tôi không sửa đâu. Ở trên tôi chỉ nêu cách gọi sub GetImages. Còn sửa code của GetImages thì tôi không dám làm. Như thế là vi phạm quyền tác giả.
 
Thì tôi đã nói rồi mà. Bạn có 2 lựa chọn:
- đặt 1 nút GetImages như bây giờ và mỗi lần mở tập tin phải nhấn nút.
- gọi Sub GetImages trong vd. Workbook_Open. Tức: mở tập tin -> bỏ nút GetImages -> Alt + F11 -> đúp chuột vào ThisWorkbook -> dán code sau và lưu lại tập tin
Mã:
Private Sub Workbook_Open()
    GetImages
End Sub
-------------
Nếu nói như bạn Kieutri

Thì phải ý thức rõ như sau - nói rõ thôi để khỏi bất ngờ nếu sảy ra những trường hợp mà tôi liệt kê:

Giả sử bạn chạy code bằng cách nhấn nút hoặc gọi GetImages trong Workbook_Open và có 10 ảnh, 10 nội dung. Nếu bây giờ bạn chỉ copy tập tin Excel sang 1 folder khác mà không là copy folder chứa tập tin Excel sang folder khác thì cho dù bạn có nút GetImages và bạn nhấn nó khi mở tập tin hay không có nút mà chỉ có code tôi ghi ở trên thì:
- nếu folder mới chứa tập tin Excel không có ảnh thì cột nội dung sẽ trống nhưng cột ảnh vẫn có 10 ảnh. Tất nhiên là 10 ảnh lỗi.
- nếu folder mới có ít hơn 10 ảnh, vd. chỉ có 8 ảnh thì cột nội dung chỉ có 8 nội dung nhưng cột ảnh vẫn có 10 ảnh - 8 ảnh mới và 2 ảnh lỗi.

Thậm chí nếu không copy tập tin Excel đi đâu nhưng một ngày đẹp trời bạn lỡ xóa 2 ảnh thì ngày đẹp trời hôm sau khi bạn mở tập tin Excel thì bạn vẫn có 10 ảnh - 8 ảnh tốt và 2 ảnh xấu (do đã xóa) trong khi cột nội dung chỉ có 8 nội dung.

Những cái tôi chỉ ra chỉ là đề phòng khi lỡ xóa ảnh, khi chỉ copy tập tin Excel sang chỗ khác. Tất nhiên những ảnh lỗi chỉ thừa và làm ngứa mắt thôi chứ không gây tác hại gì, không gây lỗi.

Nếu muốn sửa thì cũng rất dễ nhưng tôi không sửa đâu. Ở trên tôi chỉ nêu cách gọi sub GetImages. Còn sửa code của GetImages thì tôi không dám làm. Như thế là vi phạm quyền tác giả.
Cám ơn anh batman1 nhiều! à anh ơi cho em hỏi thêm chút anh chèn ký tự "->" bằng cách nào đó ạ? có phím tắ nào để chèn ký tự "->" vào GPE không anh?
 
Cám ơn anh batman1 nhiều! à anh ơi cho em hỏi thêm chút anh chèn ký tự "->" bằng cách nào đó ạ? có phím tắ nào để chèn ký tự "->" vào GPE không anh?
Đấy là 2 ký tự: "-" và ">".

Mà tôi không chèn gì trong GPE cả. Tôi thường có thói quen viết trong notepad. Sau đó thì copy / paste vào GPE thôi.
 
Web KT
Back
Top Bottom