2017-01-17 32 views
0

Я пытаюсь написать макрос, чтобы сохранить файл excel в определенном месте, используя значение в ячейке в качестве заголовка в формате .xlsm , он работает, но фактически не сохраняет файл? я не уверен, что я сделал неправильно? вот макрос:Excel Macro для «Сохранить как» в заданном местоположении диска в виде .xlsm

Sub Savefileas() 
ThisFile = Range("B4").Value 
Dim varResult As Variant 

varResult = Application.GetSaveAsFilename(FileFilter:= _ 
"Macro Enabled Workbook" & "(*.xlsm), *xlsm", Title:=Range("B4").Value &".xlsm", _ 
InitialFileName:="C:\Work\" & ThisFile & ".xlsm") 

End Sub 

Спасибо adavce

ответ

0

Дайте этому попытку. Также была добавлена ​​ошибка.

Sub Savefileas() 
    Dim ThisFile As String 
    Dim varResult As Variant 
    ThisFile = Range("B4").Value 
    varResult = Application.GetSaveAsFilename(FileFilter:= _ 
    "Macro Enabled Workbook" & "(*.xlsm), *xlsm", Title:=ThisFile & ".xlsm", InitialFileName:="C:\My Documents\" & ThisFile & ".xlsm") 
    With ActiveWorkbook 
     On Error GoTo message 
     .SaveAs varResult & ".xlsm", FileFormat:=52 
     Exit Sub 
     message: 
     MsgBox "There is an error" 
    End With 
End Sub 
+0

Это сохранили файл в правильном формате, однако с использованием предыдущего макроса у меня появилось диалоговое окно сохранения, и это даст пользователю возможность выбрать другую папку в файловой структуре. Идея заключается в том, что электронная таблица используется для различных проектов, как только пользователь нажимает кнопку сохранения, они могут выбрать правильную папку проекта до завершения сохранения. Надеюсь, я сделал это ясно. – Maxe1984

+0

@ Maxe1984 Я обновил свой ответ. Это то, что вы ищите? – Brad

+0

Он, похоже, не захватывает имя из ячейки B4 только с использованием текущего названия рабочего листа? Кроме того, это сохранение в последней текущей папке, есть ли способ указать начальное местоположение? – Maxe1984

 Смежные вопросы

  • Нет связанных вопросов^_^