Office中国论坛/Access中国论坛
标题:
导出Access的超链接到Excel
[打印本页]
作者:
saraou
时间:
2011-12-18 20:56
标题:
导出Access的超链接到Excel
如附件,一个字段是超链接一个pdf,把这个表导出成为excel后里面只是显示超链接的文件名字,怎样设置才能显示超链接的全部路径从C盘一直到文件名字? 还有就是这个超链接是打不开的.如何才能让这个超链接能打开所链接的文件呢?
[attach]47723[/attach]
[attach]47724[/attach]
作者:
roych
时间:
2011-12-19 11:45
你应该用绝对路径才能处理的。俺还特意录制了下视频供参考
'其它说明:
'1、需要引用Excel 11.0 库。
'2、超链接应设置为绝对路径(而不是相对路径),详见第二条记录。
Sub test()
Dim rst As New ADODB.Recordset
Dim exl As Excel.Application
Dim wk As Workbook
Dim ws As Worksheet
'打开记录集,并创建Excel控件。
rst.Open "邮件列表", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Set exl = CreateObject("Excel.Application")
'删除旧文件,如出错则跳步。
On Error Resume Next
If Dir("D:\邮件列表.xls") Then Kill "D:\邮件列表.xls"
'创建工作簿,并激活第一个工作表
Set wk = exl.Workbooks.Add()
wk.Sheets(1).Activate
Set ws = wk.ActiveSheet
'写入表头
For i = 0 To rst.Fields.Count - 1
ws.Range("A1").Offset(0, i) = rst.Fields(i).Name
Next
i = 0
'写入记录内容
For i = 1 To rst.RecordCount
ws.Range("A1").Offset(i, 0) = rst(0)
ws.Range("A1").Offset(i, 1) = rst(1)
ws.Range("A1").Offset(i, 2) = rst(2)
'写入超链接公式。请特别留意里面的转义字符写法。
ws.Range("A1").Offset(i, 3) = "=hyperlink(""" & Left(rst(3), InStr(1, rst(3), "#")) & """,""" & Left(rst(3), InStr(1, rst(3), "#") - 1) & """)"
ws.Range("A1").Offset(i, 4) = rst(4)
rst.MoveNext
Next
'关闭记录集,保存数据后关闭电子表格。
rst.Close
Set rst = Nothing
wk.SaveAs "D:\邮件列表.xls"
wk.Close
MsgBox "数据已成功导出到:D:\邮件列表.xls"
End Sub
复制代码
[attach]47728[/attach]
作者:
saraou
时间:
2011-12-19 16:33
roych 发表于 2011-12-19 11:45
你应该用绝对路径才能处理的。俺还特意录制了下视频供参考
非常感谢
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3