如何让excel里的内容与其他文件夹里的图片建立超链接
假设你的图片文件夹是在D盘的img下面,图片格式是jpg
选定A2单元格:
= HYPERLINK("[D:\img\" & A2 & ".jpg]",A2)
然后直接向下拖。
如果嫌拖得太累了,那就用vba吧。
如下:
假设这些数据放在第一个sheet里面
在sheet1(右下第一个标签)右键->查看代码
双击这个(如图)
添加以下代码:完事后要重新打开下表格。
Private Sub Workbook_Open()
Sheet1.Activate
Dim i As Integer
Dim j As Integer
For i = 2 To 100 Step 1 <----可以修改100,末行号(箭头后面的要去掉哈,粘贴进入时,切记切记。下同)
For j = 1 To 100 Step 1 <------可以修改100,末列号
Dim name As String
name = Trim(Sheet1.Cells(i, j).Text)
If name = "" Then
Else
Sheet1.Cells(i, j) = "D:\img\" & name & ".jpg"
Sheet1.Cells(i, j).Hyperlinks.Add Anchor:=Cells(i, j), Address:="D:\img\" & name & ".jpg"
End If
Next
Next
End Sub
1、在Excel里面打开或者新建一个表格作为总表;
2、在表格标签上单击鼠标右键,选择“查看代码”;
3、粘贴如下代码到编辑器里面去:
Option Explicit
Sub BuildHyperlinksToWorkbooks()
On Error Resume Next
Dim arrFolders As New Collection
Dim strFolder, strFile As String
Dim fso, oFolder, oFile
Dim oCell As Range
Dim nRowIndex As Integer, nColumnIndex As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
' 设置这个数字来控制把超级链接生成到第几列
nColumnIndex = 3
' 在下面调整/增/删需要搜索的文件夹
arrFolders.Add "C:\Temp\docs\test1\"
arrFolders.Add "C:\Temp\docs\test2\"
arrFolders.Add "C:\Temp\docs\test3\"
nRowIndex = 1
For Each strFolder In arrFolders
Set oFolder = fso.GetFolder(strFolder)
For Each oFile In oFolder.Files
strFile = oFile.Path
If (UCase(Right(strFile, 4)) = ".XLS") Or (UCase(Right(strFile, 5)) = ".XLSX") Then
Set oCell = Cells(nRowIndex, nColumnIndex)
oCell.Hyperlinks.Add Anchor:=oCell, Address:="file://" & strFile, TextToDisplay:=strFile
nRowIndex = nRowIndex + 1
End If
Next
Next
Set oFolder = Nothing
Set fso = Nothing
MsgBox "完成!"
End Sub
4、根据需要增加/删除上面代码中需要搜索的文件夹;同时也可以控制把超级链接生成到第几列去;
5、键入F5运行看到“完成!”结束;
6、键入ALT+Q退出代码编辑返回Excel表格界面,检查所有超链是否正确生成。
如果以后不在需要批量插入超链,则可以在保存这个总表前把上面的代码全部删除。从而避免了每次打开这个总表文件时,Excel都要提示是否启用宏什么的。
广告 您可能关注的内容 |