在Excel中导入外部数据如何设置相对路径

来源:百度知道 编辑:UC知道 时间:2024/05/25 12:35:30
我在Excel中已导入了一个外部数据文件db1.mdb,这个db1.mdb和我Exlcel在同一文件夹内,我想用相对路径把它们链接上,不知怎么做?
很感谢有人回答!但我想补充说明一下,我已在Excel“数据”/“导入外部数据”/“导入数据”导入了db1.mdb 。当前它们都在H:\文件夹1 里,问题是当我把文件夹1移到其它磁盘下时,Excel就与db1连不上了。在这个Excel的“编辑OLE DB查询”中“连接”的语句是:
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=H:\文件夹1\db1.mdb;Mode=Share Deny Write;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
我想把这语句中对文件位置的描述变成“相对路径的描述”,以便我不管把文件夹1带到哪里它们都能链接上。
如果方便可加我的QQ:476601790,再次对各位表示感谢!

貌似无法实现呢。。。。。好遗憾。。。。(Excel不支持相对路径?呵呵,我也不太清楚。。。。。。。感谢 兔呀兔大王)
不如你这样:
1、把两个文件放在同一个文件夹中,
2、重新导入数据,
3、在“导入外部数据--数据区域属性”中在“打开工作簿时,自动刷新”前画勾,
这样当你移动文件夹后,再打开Excel文件时,会弹出是否自动刷新对话框,点“自动刷新”后,会弹出“找不到文件,但建议链接同一文件夹下的*.MDB文件”,然后点确定就ok了。。。。
这样做的后果是每次打开Excel文件都会重新链接文件,但是可以接近你的要求。
不知道你明白了没?

lllliiii_1说Excel不支持相对路径,这是不正确的。
假如我们的Excel文件名叫book1,要与book1发生数据交换等关联的文件只要与book1的相对路径固定(例如在同一文件夹下),我们可以采用一个简单方法实现:
1、在Workbook_Open()中使用:Worksheets("sheet1").Range("A1").Value = ActiveWorkbook.Path语句,即可在book1文件打开时,就在sheet1的A1单元格中获取book1的绝对路径。
2、调用该路径时,例如要把当前文件存在与book1相同的文件夹下,使用 ActiveWorkbook.SaveAs Filename:=workbook("book1")Sheets("sheet1").Range("A1").Value + "\" + "你要为该文件起的名字"。

原理:如果文件名类似“C:\123\我的文件”,则实际意义为C:\123\下的“我的文件”。

Public cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim pthstr As String
pthstr = Activ