如题所述
举个例子,打开在Sheet1表中的A1中指定的路径下和A2中指定的已有文件:
Sub 打开指定文件()
Dim OpenFName$, FileSource$
OpenFName = Sheets("Sheet1").Range("A2") '读取在Sheet1表中的A2中的文件名,样式如 A.XLS
FileSource = Sheets("Sheet1").Range("A1") '读取在Sheet1表中的A1中的路径,样式如 D:\
Workbooks.Open Filename:=FileSource + OpenFName '打开在Sheet1表中的A1中指定的路径下和A2中指定的文件,样式如 在:D:\A.XLS
End Sub
Sub 打开指定文件()
Dim OpenFName$, FileSource$
OpenFName = Sheets("Sheet1").Range("A2") '读取在Sheet1表中的A2中的文件名,样式如 A.XLS
FileSource = Sheets("Sheet1").Range("A1") '读取在Sheet1表中的A1中的路径,样式如 D:\
Workbooks.Open Filename:=FileSource + OpenFName '打开在Sheet1表中的A1中指定的路径下和A2中指定的文件,样式如 在:D:\A.XLS
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-06-20
不知道楼主想表达啥,路径值在代码里都是字符值,一个路径就是一个字符串。比如读取你的excel文件路径:
sub test()
a=thisworkbook.path
end sub
其中a就是一字符串,也即是你的excel文件路径。
再比如你想打开D:\123\456.xls (d盘的123文件夹的456.xls文件)
sub test1()
set book=workbooks.open("D:\123\456.xls")
end sub
其中D:\123\456.xls 就是一字符串。
希望能够帮到你。追问
sub test()
a=thisworkbook.path
end sub
其中a就是一字符串,也即是你的excel文件路径。
再比如你想打开D:\123\456.xls (d盘的123文件夹的456.xls文件)
sub test1()
set book=workbooks.open("D:\123\456.xls")
end sub
其中D:\123\456.xls 就是一字符串。
希望能够帮到你。追问
我不想路径出现在vba中,而想出现在工作薄中,让vba去读取工作薄某个单元格的路径,这样的话只需在某个单元格输入路径,而vba可多次读取该路径,且修改路径的话只需要修改单元格内容即可。
追答比如你把数值放在sheet1 的a2单元格,
sub test()
a=sheets("sheet1").[a2]
b=sheets("sheet1").range("a2")
c=sheets("sheet1").cells(2,1) '这种表达可以进行循环处理
end sub
第2个回答 2012-06-20
dim MyPath as string
mypath=sheet1.[a1].value '这就是读取工作路径的方法。然后你就可以引用mypath了
mypath=sheet1.[a1].value '这就是读取工作路径的方法。然后你就可以引用mypath了