我们在办公室组织方面遇到了一些问题,所以我想出了一个电子表格来为我们做很多事情,但是我想添加添加“文件链接”的功能,基本上我想要创建一个按钮,而不是单击时,提示您找到所需的文件,然后继续在按钮本身旁边的单元格上附加所选文件的链接。
我找到了一种方法,如何使用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文件时。
答案 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!〜:)