Excel按钮添加文件链接

时间:2018-01-31 00:17:38

标签: excel vba pdf button

我们在办公室组织方面遇到了一些问题,所以我想出了一个电子表格来为我们做很多事情,但是我想添加添加“文件链接”的功能,基本上我想要创建一个按钮,而不是单击时,提示您找到所需的文件,然后继续在按钮本身旁边的单元格上附加所选文件的链接。

我找到了一种方法,如何使用excel文件,这意味着将另一个Excel文件附加到Excel文件,但我们需要附加PDF文件,我们需要一个按钮的原因是我们有太多的PDF文件到手动添加1到1的超链接。

到目前为止,我发现这个脚本似乎只能附加其他EXCEL文件。

Public Sub insertFile()

'Select the cell in which you want to place the attachment
Range("D3").Select

'Get file path
fpath = Application.GetOpenFilename("All Files,*.*", Title:="Select file")
If LCase(fpath) = "false" Then Exit Sub

'Insert file
ActiveSheet.OLEObjects.Add _
Filename:=fpath, _
Link:=False, _
DisplayAsIcon:=True, _
IconFileName:="excel.exe", _
IconIndex:=0, _
IconLabel:=extractFileName(fpath)

End Sub


Public Function extractFileName(filePath)

For i = Len(filePath) To 1 Step -1
    If Mid(filePath, i, 1) = "\" Then
    extractFileName = Mid(filePath, i + 1, Len(filePath) - i + 1)
    Exit Function
    End If
Next

End Function

我得到了

  

运行时错误'1004'无法插入对象

当我尝试将其更改为PDF文件时。

1 个答案:

答案 0 :(得分:1)

这就是我用来让用户选择pdf来超链接的方法:

Sub CreateHyperlink()
Dim wks As Worksheet
Dim LinksList As Range

Set wks = ActiveSheet 
Set LinksList = Range("A1").End(xlDown).Offset(1, 0) 'first empty cell after list
    ChDrive "C:\"
    ChDir "C:\Users\User\Folder1\"
    Filt = "PDF Files (*.pdf),*.pdf ," & _
           "All Files (*.*),*.*"
    FilterIndex = 1
    Title = "Select a File to Hyperlink"
    Filename = Application.GetOpenFilename _
        (FileFilter:=Filt, _
         FilterIndex:=FilterIndex, _
         Title:=Title)

    If Filename <> False Then
       wks.Hyperlinks.Add Anchor:=LinksList, _
       Address:=Filename, _
        TextToDisplay:=Filename
    Else
        MsgBox "No file was selected.", vbCritical, "Loading Error"
        Exit Sub
    End If
End Sub

我很可能只是将这个宏附加到按钮上......您也可以让用户为超链接命名,或者让他们在单元格的右侧或左侧放置一个注释。 GL!〜:)