Страницы: 1
RSS
Вызов окна "Сохранить как" в VBA?
 
У меня есть файл с макросом, после отработки которого необходимо сохранить результат в другой файл. Условия:  
 
- нужно чтобы выскакивало окно "Сохранить как" с заранее прописанным путем, но в какой именно папке сохранить выберет сам пользователь (например: D:\Заявки\2011\ , а пользователь дальше сам выбирает в этом каталоге куда загружать)  
 
- название файла пользователь задает сам, формат файла .xlsx  
 
- файл с макросом должен оставаться без изменений. После отработки макроса пользователь должен работать с вновь сохраненным файлом, а файл с макросом закрыться  
 
Заранее всем благодарен за помощь
 
application.dialogs(
Живи и дай жить..
 
Dim x As String  
ChDrive "b"  
ChDir "b:\temp" 'Ваш путь  
x = Application.GetSaveAsFilename("", "Файл Excel 2007 (*.xlsx), *.xlsx")  
If x = "False" Then  
   'Действия если юзер нажал "Отмена"  
Else  
   ActiveWorkbook.SaveAs x  
   ThisWorkbook.Close False  
End If
 
Не совсем то. Не прописан путь и расширение файла по умолчанию стоит .xlsm, а надо .xlsx
 
никто не мешает вам влиться в творческий процесс..
Живи и дай жить..
 
{quote}{login=Казанский}{date=16.03.2011 02:38}{thema=}{post}Dim x As String  
ChDrive "b"  
ChDir "b:\temp" 'Ваш путь  
x = Application.GetSaveAsFilename("", "Файл Excel 2007 (*.xlsx), *.xlsx")  
If x = "False" Then  
   'Действия если юзер нажал "Отмена"  
Else  
   ActiveWorkbook.SaveAs x  
   ThisWorkbook.Close False  
End If{/post}{/quote}  
 
Выдает ошибку 1004 и файл не сохраняется
 
я пытался реализовать это с помощью GetSaveAsFileName, но у меня не происходило сохранения файла, и ошибки не выдавалось ни какой
 
вместо b\temp напишите свой путь и т.д.
Живи и дай жить..
 
{quote}{login=слэн}{date=16.03.2011 02:49}{thema=}{post}вместо b\temp напишите свой путь и т.д.{/post}{/quote}  
 
свой путь я само собой написал. он открывает каталог который я указал. а при нажатии сохранить выдал ошибку
 
Возможные причины:  
1. Вы пытаетесь сохранить файл с макросом как xlsx.  
2. Не прав на запись в эту папку.  
3. Вы пытаетесь перезаписать существующий файл, а он занят другим процессом.
Страницы: 1
Наверх