使用 VBA 同时将多个 pdf 文件链接到 Excel 行

问题描述 投票:0回答:1

我有 Excel 文件,在 A 列中,我有与 Excel 文件位于同一文件夹中的 PDF 子文件夹中的 PDF 的确切名称。我正在尝试使用 Visual Basic 在 Excel 中超链接这些 PDF。我知道如何单独执行此操作,但我通常尝试链接大约 30 行 PDF。我正在寻找有关如何在不了解 Visual Basic 的情况下编写此代码的指导。我附上了 excel 文件的示例以及包含 pdf 文件夹和 excel 文件的文件夹示例以供视觉参考。

enter image description here

我不懂 VB,但曾尝试通过 google/搜索堆栈溢出来解决此问题,但没有找到关于此问题的指导!

我尝试使用此代码:https://www.mrexcel.com/board/threads/vba-to-auto-hyperlink-a-pdf-file-from-a-folder-based-on-cell-value .958019/

但是当我按下播放按钮时什么也没有发生:

Sub AddHypaerlinks()

Dim lastRow As Long
Dim myPath As String, fileName As String


myPath = "C:\Users\dchaney\Documents\" 'SET TO WHERE THE FILES ARE LOCATED
lastRow = Range("A" & Rows.Count).End(xlUp).Row

For i = 2 To lastRow

    fileName = myPath & Range("A" & i).Value & "*.pdf"
    
    If Len(Dir(fileName)) <> 0 Then 'IF THE FILE EXISTS THEN
    
        ActiveSheet.Hyperlinks.Add Range("A" & i), myPath & Dir(fileName)
    
    End If
    
Next

End Sub
excel vba hyperlink
1个回答
0
投票

这对我有用:

Sub AddHyperlinks()

    Dim ws As Worksheet, pdf As String, i As Long
    Dim myPath As String
    
    myPath = ThisWorkbook.Path & "\PDFs\" 'your folder of PDF's
    
    Set ws = ActiveSheet 'always best to use a worksheet reference 
    
    For i = 2 To ws.Range("A" & ws.Rows.Count).End(xlUp).Row

        pdf = Trim(ws.Range("A" & i).Value) 'in case of extra spaces...

        If Len(Dir(myPath & pdf)) > 0 Then 'IF THE FILE EXISTS THEN
            ws.Hyperlinks.Add Anchor:=ws.Range("A" & i), _
                              Address:=myPath & pdf, _
                              TextToDisplay:=pdf
        End If
    Next

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.