![](/img/trans.png)
[英]How to open an excel workbook with path and file name as changing parameters
[英]VBA EXCEL - open file and assign path to a new workbook path
那里。 我正在尝试传递一个文件路径来定义一个新工作簿的路径......一切看起来都很好,直到我在该行得到“下标超出范围”:
设置 rngS = Workbooks(wkbS).Range("myRange1")
我已经减少了原始文件名的长度,以及它的文件夹目录名称等...我还在字符串、变体等之间切换了类型定义...我将不胜感激任何建议。 很多。
Sub myMain()
dim wkbS as string
dim rngS as range
wkbS = open_file_src
Debug.Print "w_source_path is : " & wkbS
Set rngS = Workbooks(wkbS).Range("myRange1")
debug.print "Range rngS : " & rngS.address
End Sub
Function open_file_src() As String
strFile_src = Application.GetOpenFilename(filefilter:="Excel files,*.x*", Title:="Select SOURCE file")
Workbooks.Open Filename:=strFile_src
Debug.Print "open_file_src PATH is : " & strFile_src
open_file_src = strFile_src
End Function
您必须传递没有路径的目标工作簿的名称,因为它在 Excel 上打开:
wkbS="ChoosedWorkbook.xls"
然后有两种方法可以设置 rngS 范围:
Set rngS = = Workbooks(wkbS).Names("myRange1").RefersToRange
或者,传递包含目标范围的工作表名称:
Set rngS = Workbooks(wkbS).Sheets("theNameOfTheSheet").Range("myRange1")
修改后的代码来获取文件名:
Function open_file_src() As String
Dim strFile_src As String
strFile_src = Application.GetOpenFilename(filefilter:="Excel files,*.x*", Title:="Select SOURCE file")
Workbooks.Open Filename:=strFile_src
Debug.Print "open_file_src PATH is : " & strFile_src
open_file_src = Right(strFile_src, Len(strFile_src) - InStrRev(strFile_src, "\"))
End Function
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.