我有 Excel 文件,在 A 列中,我有与 Excel 文件位于同一文件夹中的 PDF 子文件夹中的 PDF 的确切名称。我正在尝试使用 Visual Basic 在 Excel 中超链接这些 PDF。我知道如何单独执行此操作,但我通常尝试链接大约 30 行 PDF。我正在寻找有关如何在不了解 Visual Basic 的情况下编写此代码的指导。我附上了 excel 文件的示例以及包含 pdf 文件夹和 excel 文件的文件夹示例以供视觉参考。
我不懂 VB,但曾尝试通过 google/搜索堆栈溢出来解决此问题,但没有找到关于此问题的指导!
但是当我按下播放按钮时什么也没有发生:
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
这对我有用:
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