|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
我想利用VBA的变量来指代文件夹的路径,然后在这个变量指定的文件夹下创建一个新的文件夹,并将打开的文件存在这个新文件夹下。
1.如果指定的文件夹路径是不变的,程序非常简单。比如指定文件夹路径为C:\456
Sub FileSaveTest()
Workbooks.Open Filename:="c:\123.xlsx" ’打开文件
MkDir "C:\456\789" ‘在指定的文件夹456下创建新的文件夹789
ActiveWorkbook.SaveAs "C:\456\789\123copy.xlsx” ‘将文件123存入文件夹789并命名为123copy.
End Sub
2.如果由用户来指定文件夹路径,需要用到变量,可以用input函数来让用户输入路径,但是我用的是下面这个方法提取路径的:
Sub FileSaveTest()
Dim FolderPath As String
With Application.FileDialog(msoFileDialogFolderPicker) ‘选取并指定文件夹路径C:\456
.Show
FolderPath = .SelectedItems(1)’ 提取文件夹路径C:\456
End With
Workbooks.Open Filename:="c:\123.xlsx" ’打开文件
MkDir "& FoderPath &”\789" ‘在指定的文件夹下创建新的文件夹取名789
ActiveWorkbook.SaveAs "& FolderPath &”\789\123copy.xlsx” ‘将文件123存入文件夹789并命名为123copy.
End Sub
但是这段code运行提示找不到路径,我想原因是在语句Mkdir和ActiveWorkbook.SaveAs 中变量的表达方式不对。因为通过 With Application.FileDialog(msoFileDialogFolderPicker) 赋给FolderPath的值是一个带引号的字符串如:”c:\456”。这样一个字符串到了MkDir "& FoderPath &”\789"这里就成了””c:\456””\789, 所以找不到路径。
请问如何修改代码,谢谢!
[ 本帖最后由 xfwxiao 于 2011-6-25 09:51 编辑 ] |
|