Làm sao kiểm tra hyperlink có mở được không?

Liên hệ QC
Có lẽ anh vẫn chưa hiểu yêu cầu của em. Công thức hyperlink đúng nhưng folder tạo sai nên báo lỗi. Em cần biết link nào bị lỗi mà kg phải check từng dòng một.
Bạn đọc câu này để hiểu: Chỉ kiểm tra và sửa cái Link đầu tiên (chứ đâu cần kiểm tra 1 đống ở dưới làm gì), nếu Link bạn làm sai thì cái Cell đầu tiên cũng chẳng vào được Folder rồi, vậy bạn chỉ sửa cái Link đầu tiên rồi File xuống (chỉ có bạn gõ tên Folder sai thì mới không mở được).
Bởi vậy bài 12 tôi mới nêu vầy "Vậy tốt nhất là dùng VBA, nó tự lấy tên Folder và tạo Hyperlink". Nếu code chạy sai thì chẳng mở được cái Folder nào, như vậy chỉ cần sửa code chứ mắc chi phải kiểm tra cái Link.
 
Bạn clik shape Run và chạy xem thế nào
Code của bạn:
Mã:
Sub check()
    Dim i As Integer
    Set fso = CreateObject("Scripting.FileSystemObject")
    For i = 2 To Range("F" & Rows.Count).End(3).Row
        If fso.FolderExists(Cells(i, 6)) Then
            Cells(i, 7) = "OK"
        Else
            Cells(i, 7) = "Fail"
        End If
    Next
End Sub
Giờ tại cell F2 tôi có hàm =HYPERLINK("C:\Windows","ABC")
Tôi chắc chắn đường dẫn "C\Windows" đang tồn tại trên máy tôi. Trường hợp này code của bạn cho kết quả gì?
Liên quan đến Hyperlink (cả hàm HYPERLINK và chức năng Hyperlink) mà chỉ bám vào những gì đang hiển thị trên màn hình là... không ăn thua
 
Có lẽ anh vẫn chưa hiểu yêu cầu của em. Công thức hyperlink đúng nhưng folder tạo sai nên báo lỗi. Em cần biết link nào bị lỗi mà kg phải check từng dòng một.
Bài 12 tôi nêu vầy: Vậy tốt nhất là dùng VBA, nó tự lấy tên Folder và tạo Hyperlink.
Vậy thì đâu cần kiểm tra làm gì, nếu code không tạo được Hyperlink thì sửa code.
 
Bài 12 tôi nêu vầy: Vậy tốt nhất là dùng VBA, nó tự lấy tên Folder và tạo Hyperlink.
Vậy thì đâu cần kiểm tra làm gì, nếu code không tạo được Hyperlink thì sửa code.
Tức là vầy nè anh: File người ta có sẵn và đang dùng công thức HYPERLINK. Đường dẫn link này phụ thuộc vào cột A, B, C và E, có nghĩa là khi ta thay đổi giá trị ở 4 cột trên thì đường dẫn phải thay đổi theo. Vấn đề ở đây là người ta không biết đường dẫn ấy có tồn tại hay không nên cần hàm để kiểm tra
Ở đây người ta không cần tạo Hyperlink gì cả mà chỉ muốn kiểm tra đường dẫn được tạo ra bằng phép nối chuỗi ấy có tồn tại hay không mà thôi
Cái của anh là đang làm ngược với yêu cầu đó
 
Tức là vầy nè anh: File người ta có sẵn và đang dùng công thức HYPERLINK. Đường dẫn link này phụ thuộc vào cột A, B, C và E, có nghĩa là khi ta thay đổi giá trị ở 4 cột trên thì đường dẫn phải thay đổi theo. Vấn đề ở đây là người ta không biết đường dẫn ấy có tồn tại hay không nên cần hàm để kiểm tra
Ở đây người ta không cần tạo Hyperlink gì cả mà chỉ muốn kiểm tra đường dẫn được tạo ra bằng phép nối chuỗi ấy có tồn tại hay không mà thôi
Cái của anh là đang làm ngược với yêu cầu đó
Nói chung là chủ Topic diễn giải anh không hiểu.
 
Nói chung là chủ Topic diễn giải anh không hiểu.
Đây là công thức Hyperlink lấy dữ liệu từ cột A, D, E, G, anh có thể xem lại file đính kèm #1:

1524201964037.png1524202437175.png Khi kích vào hyperlink nếu các hyperlink tồn tại thì sẽ mở trực tiếp đến thư mục như sau:
1524202164085.png
1524202183886.png
Nếu link chết thì báo như sau:
1524202454591.png
Yêu cầu là làm sao tìm được tất cả Hyperlink bị lỗi, chết để sửa lại các folder con cho đúng.
 

File đính kèm

  • 1524202136001.png
    1524202136001.png
    239.3 KB · Đọc: 6
  • 1524202225375.png
    1524202225375.png
    126.5 KB · Đọc: 6
  • 1524202352904.png
    1524202352904.png
    38.9 KB · Đọc: 5
Lần chỉnh sửa cuối:
Đây là công thức Hyperlink lấy dữ liệu từ cột A, D, E, G, anh có thể xem lại file đính kèm #1:
Khi kích vào hyperlink nếu các hyperlink tồn tại thì sẽ mở trực tiếp đến thư mục như sau:
Nếu link chết thì báo như sau:
Yêu cầu là làm sao tìm được tất cả Hyperlink bị lỗi, chết để sửa lại các folder con cho đúng.
Bài 23 tôi nêu vầy: Vậy tốt nhất là dùng VBA, nó tự lấy tên Folder và tạo Hyperlink.
Chỉ cần click vào cái Link thì nó di chuyển đến Folder đó. Link thì nó lấy tự động nên không cần kiểm tra cái gì cả (nếu nó chết thì chạy lại code).

Tôi đã đưa cái hình từ bài 7 thế này và cũng đã giải thích rồi Cột A là Link tên Folder cha, cột B là Link tên Folder con, nếu có cháu thì cột C là Link (cháu chắc).
A_Folder.JPG
 
Code của bạn:
Mã:
Sub check()
    Dim i As Integer
    Set fso = CreateObject("Scripting.FileSystemObject")
    For i = 2 To Range("F" & Rows.Count).End(3).Row
        If fso.FolderExists(Cells(i, 6)) Then
            Cells(i, 7) = "OK"
        Else
            Cells(i, 7) = "Fail"
        End If
    Next
End Sub
Giờ tại cell F2 tôi có hàm =HYPERLINK("C:\Windows","ABC")
Tôi chắc chắn đường dẫn "C\Windows" đang tồn tại trên máy tôi. Trường hợp này code của bạn cho kết quả gì?
Liên quan đến Hyperlink (cả hàm HYPERLINK và chức năng Hyperlink) mà chỉ bám vào những gì đang hiển thị trên màn hình là... không ăn thua
Cái anh đang nói là trường hợp tổng quát, còn file em đưa lên là áp dụng cho trường hợp của bạn ấy xem thế nào thui ạ.
 
File này mang về đường 4, xong cái mần con gà + thùng bia là hiểu liền
Ẹc... Ẹc...
Rượu ở nhà còn mấy chai, thứ 7, chúa nhật thích thì chạy qua.

Chủ Topic diễn giải rõ ràng tại bài 26 rồi, giống như nội dung anh đã giải quyết xong ở bài 7 (chỉ đưa cái hình) nó link tất cả từ Folder cha, con, cháu, chắc, nhưng chủ Topic chẳng đá động gì đến nội dung bài 7 là có đúng hay không đúng yêu cầu nên anh không đưa File lên (nếu không đúng yêu cầu sửa tới sửa lui mệt lắm) thành ra ba xàm cho vui trong lúc rảnh rỗi.
 
Nói chung là chủ Topic diễn giải anh không hiểu.
Vì thế mà tôi giải thích. Nhưng bạn vẫn không hiểu. Mà sau đó người ta cũng nói rất rõ rồi
Trong tạo thư mục con có thể bị lỗi nên hyperlink bị lỗi
Tức toàn bộ đường dẫn nó phải như thế. "\\Z01-oa-pc0681\G\TOMAS SYSTEM\TOMAS SYSTEM_ZONE 2\TOMAS SCAN\" và A2, B2, C2, E2 phải như thế. Nhưng do khi tạo thư mục con thì tạo sai (tên sai). Hoặc cũng có thể tạo đúng và hôm qua link vẫn sống nhưng hôm nay vì lý do nào đó (có muôn vàn lý do) thư mục không còn tồn tại.
Bài 23 tôi nêu vầy: Vậy tốt nhất là dùng VBA, nó tự lấy tên Folder và tạo Hyperlink.
Người ta không hỏi cách tạo link vì link phải như thế và người ta đã tạo đúng. A2, B2, C2, E2 với kiểu dữ liệu như thế thì chắc là người ta không nhập tay từng ký tự mà rất có thể copy/paste từ csdl. Có dùng VBA tạo link thì cũng thế thôi. Ngày hôm qua link tạo bằng VBA còn sống nhưng ngày hôm nay vì lý do nào đó mà thư mục con không còn thì dĩ nhiên link tạo bằng VBA sẽ chết.

Cũng chính vì phải kiểm tra nên người ta mới hỏi cách.
 
Vì thế mà tôi giải thích. Nhưng bạn vẫn không hiểu. Mà sau đó người ta cũng nói rất rõ rồi

Tức toàn bộ đường dẫn nó phải như thế. "\\Z01-oa-pc0681\G\TOMAS SYSTEM\TOMAS SYSTEM_ZONE 2\TOMAS SCAN\" và A2, B2, C2, E2 phải như thế. Nhưng do khi tạo thư mục con thì tạo sai (tên sai). Hoặc cũng có thể tạo đúng và hôm qua link vẫn sống nhưng hôm nay vì lý do nào đó (có muôn vàn lý do) thư mục không còn tồn tại.

Người ta không hỏi cách tạo link vì link phải như thế và người ta đã tạo đúng. A2, B2, C2, E2 với kiểu dữ liệu như thế thì chắc là người ta không nhập tay từng ký tự mà rất có thể copy/paste từ csdl. Có dùng VBA tạo link thì cũng thế thôi. Ngày hôm qua link tạo bằng VBA còn sống nhưng ngày hôm nay vì lý do nào đó mà thư mục con không còn thì dĩ nhiên link tạo bằng VBA sẽ chết.

Cũng chính vì phải kiểm tra nên người ta mới hỏi cách.
Toàn bộ dữ liêu trong bảng excel là xuất từ chương trình, kg phải do nhập tay. Dữ liệu em quản lý khoảng gần 1 triệu files (mỗi file là một dòng). Các folder con cũng là do chương trình chạy ra. Tuy nhiên lúc tạo các thư mục con có mục tùy chọn cây thư mục. Khi tùy chọn cây thư mục sai nên khi gắn hàm Hyperlink sẽ báo lỗi. Do không thể check từng hạng mục nên em mới lên đây nhờ các bác cho cao kiến ạ. Một lần nữa cám ơn các bác đã nhiệt tình giúp đỡ!
 
Toàn bộ dữ liêu trong bảng excel là xuất từ chương trình, kg phải do nhập tay. Dữ liệu em quản lý khoảng gần 1 triệu files (mỗi file là một dòng). Các folder con cũng là do chương trình chạy ra. Tuy nhiên lúc tạo các thư mục con có mục tùy chọn cây thư mục. Khi tùy chọn cây thư mục sai nên khi gắn hàm Hyperlink sẽ báo lỗi. Do không thể check từng hạng mục nên em mới lên đây nhờ các bác cho cao kiến ạ. Một lần nữa cám ơn các bác đã nhiệt tình giúp đỡ!
Vậy thì bạn phải nêu rõ cột G nó là tên Folder hay là tên File? Hình bài 26 thì thấy nó là File PDF.
Bài 3 tôi có nêu"Lưu ý: Cuối Link là đuôi File cần tạo Hyperlink, trong File tôi dùng Link đến File PDF).
 
Lần chỉnh sửa cuối:
còn ai quan tâm đến vấn đề này không.
Mình cũng đang cần 1 code để kiểm tra Hyperlink có tồn tại hay không mà khó quá.

Có bạn nào có thể giải quyết vấn đề này không giúp mình với
 
Chào mọi người. bài nãy đã nhiều năm rồi nhưng mình vẫn chưa tìm được các giải quyết nào nên mình xin phép đào lại ạ. có ai biết làm cách nào để check Hyperlink còn sống hay không ạdddd.PNG
 
Chào mọi người. bài nãy đã nhiều năm rồi nhưng mình vẫn chưa tìm được các giải quyết nào nên mình xin phép đào lại ạ. có ai biết làm cách nào để check Hyperlink còn sống hay không ạView attachment 293708
Bạn kiểm tra file theo đường dẫn có tồn tại hay không. Dùng File System Object với phương thức Exists. Tìm code trên mạng hoặc diễn đàn này có đầy: "Check files exist with FSO"
 
Web KT

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

Back
Top Bottom