|
你应该用绝对路径才能处理的。俺还特意录制了下视频供参考- '其它说明:
- '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
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|