Страница: 1 |
Страница: 1 |
Вопрос: Создать книгу со своим именем на основе шаблона
Добавлено: 26.06.06 13:23
Автор вопроса:
Андрей
После выполнения строки
создастся книга с именем типа mytemplateXX.xls
Как создать книгу на основе шаблона с именем mytemplate_date_XX.xls
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа: Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #1
Добавлено: 26.06.06 17:46
Насколько мне известно это невозможно. Чисто иллюзорно можно сделать:
Cancel = True
Application.GetSaveAsFilename InitialFilename:="ПолныйПутьФайла.xls"
End Sub
Номер ответа: 2
Автор ответа: ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #2
Добавлено: 26.06.06 21:48
____ А что мешает после привёдённой строки (создания) применить ActiveWorkbook.SaveAs?...
Номер ответа: 3
Автор ответа: Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #3
Добавлено: 26.06.06 22:31
Я ж говорю - сразу создать и сохранить - это просто. И ему похоже не нужно. А вот задавать имя по умолчанию "до сохранения" - этого сделать невозможно - поэтому через обходной путь (1).
Номер ответа: 4
Автор ответа: Андрей
Вопросов: 1
Ответов: 3
Профиль | | #4
Добавлено: 27.06.06 07:04
Спасибо за ответы.
Но что-то я не смог реализовать даже обходной путь.
Как видно из первого сообщения нужно менять название книги, созданной на основе шаблона. Соответственно и метод Workbook_BeforeSave должен быть или в самом шаблоне, или как-то появиться во вновь созданной книге.
В первом случае, после добавления кода в метод Workbook_BeforeSave файла шаблона, я не могу сохранить шаблон со старым именем.
Во втором случае, я не знаю как на лету добавить код в метод книги.
Номер ответа: 5
Автор ответа: Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #5
Добавлено: 27.06.06 10:23
Куда угодно добавь этот код и все у тебя будет (хочешь в шаблон - событие при открытии, хочешь в персональную книгу, хочешь в надстройку, кнопочку можешь под это сделать):
Workbooks.Open Filename:=MyPath + "\" + "mytemplate.xlt"
ActiveWorkbook.SaveAs Filename:="ПолноеИмяФайла.xls"
End Sub
Ну просто же! Не понятно с чем у тебя проблемы.
Номер ответа: 6
Автор ответа: Андрей
Вопросов: 1
Ответов: 3
Профиль | | #6
Добавлено: 27.06.06 11:40
Я разом создаю несколько книг с различным содержанием на основе одного и того же шаблона. Сохраняться физически на диске должны только те книги, которые захочет пользователь, то есть только те, где пользователь нажмет кнопку "Сохранить".
В имени файла (книги) должна присутствовать дата. Хочется облегчить пользователю работу и автоматом генерировать нужное имя файла.
Как я понимаю, при использовании ActiveWorkbook.SaveAs книги будут сохраняться на диске, а этого делать не хочется.
Номер ответа: 7
Автор ответа: Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #7
Добавлено: 27.06.06 12:09
Тогда снова к нашим баранам:
1.
2. В каждую книгу программо помещай код:
Cancel = True
Application.GetSaveAsFilename InitialFilename:="ПолныйПутьФайла.xls"
End Sub
3. Таким образом при выборе пользователя кнопочки сохранить стандартное событие будет отменяться и заменяться твоим см. пункт 2.
Вот и всё.
Номер ответа: 8
Автор ответа: Андрей
Вопросов: 1
Ответов: 3
Профиль | | #8
Добавлено: 27.06.06 12:57
Прошу прощения за "нескромные" вопросы (на VBA пишу 2-й день, книг под рукой нет, в стандартном хелпе не нашел): каким образом можно осуществить программно вставку кода?
Номер ответа: 9
Автор ответа: Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #9
Добавлено: 27.06.06 13:32
Посмотрите это: