2016-06-07 21 views
0

У меня есть код, который отображает некоторые рабочие листы из рабочей книги и создает новый файл. но он сохраняет случайно созданный файл в случайном месте. Я хотел бы сохранить новый файл в определенном месте. Глядя помощь и нити я случайно использовалСохраните файл AS excel в определенном месте с помощью макроса

Application.GetSaveAsFilename 

Это дает мне всплывающее окно «Сохранить как», но он не сохраняет файл в том месте, я уже упоминал. Может ли кто-нибудь увидеть мой макрос и помочь мне.

вот мой код.

Sub SaveMain() 

Dim Flname As String 
Dim ws As Worksheet 

Application.EnableEvents = False 

For Each ws In ActiveWorkbook.Sheets 
ws.Visible = xlSheetVisible 
Next 
ActiveWorkbook.Sheets("3").Range("N15").Value = ActiveWorkbook.Sheets("Calculations").Range("W23").Value 
ActiveWorkbook.Sheets("3").Range("N16").Value = ActiveWorkbook.Sheets("Calculations").Range("W28").Value 
'there are some more copy cells 

Flname = "Pump Datasheet-" & InputBox("Save file as") & ".xls" 
Sheets(Array("Cover", "2", "3", "4", "5", "6", "7", "8", "9")).Copy 
newfilename = Flname 
With ActiveWorkbook 
.SaveAs newfilename, FileFormat:=50 
Application.GetSaveAsFilename 
.Close 0 
End With 
For Each ws In ActiveWorkbook.Sheets 
If ws.Name <> "Main Calc" Then 
ws.Visible = xlSheetVeryHidden 
End If 

Next 
Application.EnableEvents = True 

End Sub 

ответ

1

Попробуйте этот формат:

saveAsFileName = Application.GetSaveAsFilename(InitialFileName:=fName, FileFilter:="Excel Files (*.xlsx), *.xlsx") 
If saveAsFileName <> "False" Then 
    'Do something here 
Else 
    'Do something else here 
End If 
+0

не смог запустить его. Очень новое для макросов. какую часть я должен заменить в качестве этого кода? Gave me error Ошибка времени выполнения '9' подписка на выход – Eric

0

Flname = "C:\temp\Pump Datasheet-" & InputBox("Save file as") & ".xls"

Это позволит сохранить файл как "насос Datasheet-контента из inputbox.xls" в C:\temp

В настоящее время вы не укажите имя папки, поэтому Excel просто сохраняет ее в любом месте сохранения по умолчанию.

+0

Могу ли я установить местоположение? Я просто хочу всплывать как окно, так что я могу сохранить все, что захочу, и просто не всегда фиксированный путь. – Eric

+0

Уверенный - просто возьмите путь от пользователя и добавьте его перед именем файла, которое вы хотите использовать: 'filepath = InputBox (« Сохранить файл в местоположении: »)' получит путь к файлу, а затем просто сделает ActiveWorkbook. SaveAs filepath & "\" & Flname, FileFormat: = 50' (установив Flame для любого имени файла, которое вам нужно, включая суффикс типа файла) – Dave

+0

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

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