如何在excel中用宏添加链接给单元格(链接到同名的word文档)?

在建一个excel名单表,每个人名对应一个doc文档。我希望实现点击“张三”时,自动指向“张三.doc”并打开它。备注:这些doc文档和excel在同一文件夹中。自己录制... 在建一个excel名单表,每个人名对应一个doc文档。我希望实现点击“张三”时,自动指向“张三.doc”并打开它。
备注:这些doc文档和excel在同一文件夹中。

自己录制了一个宏,但是地址那里不知道怎么写。求高手指点
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=" 这里搞不定 "
TextToDisplay = Selection
End Sub
补充一下:如果能在该宏中实现以下功能就更好了:
没有该文件的话(“张三.doc”),最好能生成它
展开
 我来答
百度网友5db5e02c6e
2011-07-02 · TA获得超过4979个赞
知道大有可为答主
回答量:1349
采纳率:0%
帮助的人:635万
展开全部
将下面代码放到当前VBA中当前工作表名称下的代码窗口中,保存,即可。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r
Dim mydir, mypath

Application.ScreenUpdating = False

On Error GoTo err
mypath = ThisWorkbook.Path & "\员工档案\" '取得存放Word文件的地址为:当前文件所在文件夹下的“员工档案”文件夹下
If Target.Column = 2 And Target.Row > 2 Then '指在第二列,第二行以下(可根据实际姓名所在列改变列数,及姓名开始的行数)
r = Target.Cells.Value '取得当前输入的姓名
' MsgBox r
mydir = Dir(mypath & r & ".docx", vbNormal) '用当前输入姓名为Word文件名到指定文件夹下查找。
'若Office用的是2003版,则为Doc,2007版和2010版为Docx
If mydir = "" Then
Set wd = CreateObject("word.application")
Set doc = CreateObject("word.document")

wd.Visible = True
Set doc = wd.Application.documents.Add
doc.SaveAs mypath & r '如果未找到刚输入姓名的文件,则创建该文件
doc.Save
doc.Close
Set doc = Nothing
wd.Quit
Set wd = Nothing

Target.Cells.Hyperlinks.Add _
anchor:=Target.Cells, Address:=mypath & r & ".docx" '在输入的名字下创建超链接为mypath下以当前名字为名称的文件
Else
Target.Cells.Hyperlinks.Add _
anchor:=Target.Cells, Address:=mypath & r & ".docx"
End If

End If

err:

Application.ScreenUpdating = True

End Sub

有不明白的地方,Hi上留言。
追问
谢谢!太强大了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式