Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2011, 11:47   #1
Androgen13
Пользователь
 
Регистрация: 14.05.2009
Сообщений: 11
По умолчанию Необходимо доработать макрос, который создает шаблон

Есть макрос, который создает заданный шаблон. После отработки хочу чтобы он выдавал мне окно с предложением "сохранить файл как" с:
- заранее установленным типом файла .xlsx
- в заранее установленную папку, допустим "C:\Documents and Settings\APankin\Мои документы\Клиенты" (имя и конечную подпапку в предлагаемой директории я выберу сам)
- после отработки скрипта код VBA в конечном (НЕ ИСХОДНОМ) файле хотелось бы, чтобы автоматически удалялся. Так как на данный момент когда я делаю "Сохранить как" (вручную) он выводит мне окно (см. картинку во вложении), которое мне мешает
Изображения
Тип файла: jpg Безымянный.JPG (24.8 Кб, 150 просмотров)
Вложения
Тип файла: zip Работа.zip (12.9 Кб, 15 просмотров)
Androgen13 вне форума Ответить с цитированием
Старый 18.07.2011, 12:46   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
Private Sub M_Save_As()
Application.DisplayAlerts = False
ThisWorkbook.SaveAs "C:\12.xlsx", 51
Application.DisplayAlerts = True
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 18.07.2011, 13:26   #3
Androgen13
Пользователь
 
Регистрация: 14.05.2009
Сообщений: 11
По умолчанию

Спасибо. Но я хотел бы сохранять файл через форму "Сохранить как" в заранее заданном месте и с именем которое задам я

Последний раз редактировалось Androgen13; 18.07.2011 в 13:45.
Androgen13 вне форума Ответить с цитированием
Старый 18.07.2011, 13:48   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub SaveAsDialog()
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogSaveAs)
    fd.InitialFileName = "c:\temp\xl\"
    If fd.Show = -1 Then
      MsgBox "Saved as: " & ThisWorkbook.FullName
    End If
    Set fd = Nothing
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.07.2011, 00:49   #5
Androgen13
Пользователь
 
Регистрация: 14.05.2009
Сообщений: 11
По умолчанию

К сожалению не сохраняется файл. Все проходит нормально, выскакивает окно "Сохранить как" жму сохранить, но файла в папке потом НЕТ. Пробовал и на работе и дома. В чем может быть дело?
Androgen13 вне форума Ответить с цитированием
Старый 20.07.2011, 01:45   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

и не удивительно. там нет команд сохранить...
Цитата:
Сохранить как" в заранее заданном месте и с именем которое задам я
Вам предоставлена возможность выбрать место и имя?
строку сохранить вы сами не можете написать?
ThisWorkbook.SaveAs fd.SelectedItems(1)
возможно файл закрыть надо?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.07.2011, 21:24   #7
Androgen13
Пользователь
 
Регистрация: 14.05.2009
Сообщений: 11
По умолчанию

А можешь конечный код код написать, а то у меня не получается ничего. Я еще только учусь
Смысл всей затей - открывать файл с макросом, делать соответствующий шаблон для дальнейший работы и сохранить получившееся в новый файл не изменяя файл с макросом и далее работать только с вновь созданным файлом. Покажи пожалуйста как это можно сделать и если можно с комментариями для нуба
Androgen13 вне форума Ответить с цитированием
Старый 20.07.2011, 21:33   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Если посмотреть на алгоритм - макрос может быть в одном файле, а создавать шаблон можно в другом/новом файле, где нет никаких макросов. И тогда не будет этой проблемы при сохранении этого шаблона.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 20.07.2011, 21:35   #9
Androgen13
Пользователь
 
Регистрация: 14.05.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Если посмотреть на алгоритм - макрос может быть в одном файле, а создавать шаблон можно в другом/новом файле, где нет никаких макросов. И тогда не будет этой проблемы при сохранении этого шаблона.
Как это сделать?
Androgen13 вне форума Ответить с цитированием
Старый 21.07.2011, 01:16   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Нужная Вам строка уже было приведена в предыдущем ответе. оставалось заменить бесполезное сообщение на полезные действия.
Код:
Sub SaveAsDialog()
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogSaveAs)
    fd.InitialFileName = "c:\temp\xl\"
    If fd.Show = -1 Then
      ThisWorkbook.SaveAs fd.SelectedItems(1)
    End If
    Set fd = Nothing
End Sub
Удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо доработать сайт на PHP Юпи-с Фриланс 2 18.03.2011 22:45
Запрос, который создает новую таблицу Olya2131 Microsoft Office Access 4 08.06.2010 20:27
необходимо доработать макрос FormAlDeGid Microsoft Office Excel 6 01.04.2010 12:09
Макрос вставки файлов в листы-Необходимо изменить ниже приведённый макрос as-is Microsoft Office Excel 4 25.02.2010 07:51
есть программа на С++ для КПК, необходимо ее доработать SkivD Фриланс 7 04.06.2009 23:50