Страницы: 1
RSS
Сохранение листа с определённым форматом
 
Добрый вечер! уважаемые Гуру Excel!  
 
Прошу Вашей помощи, т.к. сам не могу сделать в следующем  
 
есть макрос, который сохраняет один лист из книги (см. файл). При его запуске пользователю предлагается выбрать мести и указать имя файла.    
Мне же необходимо сделать так:  
1. Пользователь может выбрать лишь место, куда будет сохранён лист;  
2. После выбора места сохранения, Excel берёт данные из ячеек (см. файл) и из них формирует название сохраняемого файла (не листа, а именно файла);  
3. Если ещё будет возможно показать пользователю как был назван его файл - будет здорово!  
 
ПС: первый макрос выбирает как раз только место сохранения.    
 
С уважением,
 
Взяв функция выбора папки отсюда: http://excelvba.ru/code/processing_files  
 
получил вот такое решение: http://excelvba.ru/XL_Files/Sample__26-12-2010__23-53-46.zip  
 
(немного подправил ваш код)
 
{quote}{login=EducatedFool}{date=26.12.2010 09:54}{thema=}{post}Взяв функция выбора папки отсюда: http://excelvba.ru/code/processing_files  
 
получил вот такое решение: http://excelvba.ru/XL_Files/Sample__26-12-2010__23-53-46.zip  
 
(немного подправил ваш код){/post}{/quote}  
 
Добрый вечер, EducatedFool!  
 
Просмотрел Ваш пример - нет слов, одно желание достичь такого уровня!  
Благодарю Вас за потраченное время.    
 
ПС: Если я Вас не затрудню - небольшая ... просьба: если файл с таким именем уже существует - возможно ли вывести сообщение, к примеру "Такой файл уже существует. Заменить уже имеющийся файл на тот что Вы сейчас сохраняете?". ОК. ОТМЕНА.    
 
С уважением,
 
Вывести сообщение можно.  
Его выведет сам Excel.  
 
Для этого уберите в начале макроса строку    
application.displayalerts=false
 
{quote}{login=EducatedFool}{date=26.12.2010 10:32}{thema=}{post}Вывести сообщение можно.  
Его выведет сам Excel.  
 
Для этого уберите в начале макроса строку    
application.displayalerts=false{/post}{/quote}  
 
да, всё как Вы и сказал. Только сообщение о том что файл сохранён, это когда я отменил замещение файла, выдаётся. Это не страшно, но всё же, можно убрать?  
 
С уважением,
 
как Вы и сказали т.е. :)
 
{quote}{login=Пахом}{date=26.12.2010 10:39}{thema=Re: }{post}{quote}{login=EducatedFool}{date=26.12.2010 10:32}{thema=}{post}Вывести сообщение можно.  
Его выведет сам Excel.  
 
Для этого уберите в начале макроса строку    
application.displayalerts=false{/post}{/quote}  
 
да, всё как Вы и сказал. Только сообщение о том что файл сохранён, это когда я отменил замещение файла, выдаётся. Это не страшно, но всё же, можно убрать?  
 
С уважением,{/post}{/quote}  
Присоединяюсь к вопросу, как это можно подредактировать?
 
После     NewFileName = ПутьКПапке$ & ИмяФайлаДляЛиста  
 
добавьте:  
     
   If Dir(NewFileName) <> "" Then  
   If MsgBox("Такой файл уже существует. Заменить уже имеющийся файл на тот что Вы сейчас сохраняете?", vbOKCancel) <> vbOK Then Exit Sub  
   End If  
 
Потом   DisplayAlerts оставьте  False:  
 
   Application.ScreenUpdating = False: Application.DisplayAlerts = False
Bite my shiny metal ass!      
 
Спасибо, все работает. А DisplayAlerts оставить False только в одной строке или после ActiveWorkSheet.SaveAs NewFileName тоже изменить?  
И еще хотел спросить: Как сделать, чтобы в появляющемся окне выбора папки в данном примере показывались файлы, уже находящиеся в ней.
Страницы: 1
Читают тему
Наверх