SaveAsCopy保存到名称范围内的文件夹

时间:2017-05-15 09:23:47

标签: excel vba excel-vba

我想使用一个代码将我正在使用的excel工作簿的副本保存到特定文件夹。

以下是我所拥有的内容,但我似乎无法保存任何副本。

"G4" 中的值是我希望将副本打印为的名称。

有没有人对可能出现的问题有任何想法?

我仍然在学习这个VBA的东西时遇到了问题=)这对新的程序员来说很难。

Sub SparatillFolder()
Dim strFilename, strPathname, strDefpath As String
On Error Resume Next ' If directory exist goto next line


strFilename = sheets("Graf").Range("G4").Value 'New file name
strDefpath = "\\C:"MYFOLDER"  \dxakmh\Desktop\TestMiljö\Prognosverktyg\Sektionsfil\Gruppfiler\NyStruktur" 'Default path name
If IsEmpty(strFilename) Then Exit Sub

MkDir strDefpath
strPathname = strFilename 'filename

ActiveWorkbook.SaveCopyAs Filename:=strFilename & ".xlsm"
End Sub

先谢谢你,亲爱的。

1 个答案:

答案 0 :(得分:1)

strDefpath应为strDefpath = "C:\dxakmh\Desktop\TestMiljö\Prognosverktyg\Sektionsfil\Gruppfiler\NyStruktur"

也可以使用 .Text 示例Sheets("Graf").Range("G4").Text

Option Explicit
Sub SparatillFolder()
    Dim strFilename As String
    Dim strDefpath As String

    'New file name
    strFilename = ThisWorkbook.Sheets("Graf").Range("G4").Text
    strDefpath = "C:\dxakmh\Desktop\TestMiljö\Prognosverktyg\Sektionsfil\Gruppfiler\NyStruktur"

    If IsEmpty(strFilename) Then Exit Sub

    If Len(Dir(strDefpath, vbDirectory)) = 0 Then MkDir strDefpath

    ActiveWorkbook.SaveCopyAs Filename:=strDefpath & "\" & strFilename & ".xlsm"
End Sub
  

<强> Range.Text Property (Excel)   返回或设置指定对象的文本。只读字符串。