View previous topic :: View next topic |
Author |
Message |
TIGROIDONIA
Joined: 19 Aug 2011 Posts: 8
|
(Separately) Posted: Fri Aug 19, 2011 11:16 Post subject: Скрипт для создания шаблона Excel |
|
|
Есть у меня вот такая кнопочка
Code: | ' Создает пустой файл в текущем каталоге и открывает его в блокноте
Set WshShell = CreateObject("WScript.Shell")
filename = InputBox("Введите имя нового файла (без расширения)", "Создание нового файла")
If filename <> "" Then
filename = filename & ".txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.OpenTextFile(filename, 2, True)
File.Close
WshShell.Run "notepad.exe " & filename, 1, True
End If |
Те при нажатии создает txt файл в активной папке после указания имени. Помогите сделать подобный скрипт для создания excel документа microsoft office 2010, те что при нажатии на кнопку создавался запрос об имени файла, после чего создавался файл формата xlsx в активной папке и соответвенно открывался для изменений. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10255 Location: Россия, Саратов
|
(Separately) Posted: Fri Aug 19, 2011 12:08 Post subject: |
|
|
TIGROIDONIA
Оформление заголовка темы и скрипта приведено в пристойное состояние.
Между созданием простого тестового документа и имеющего совершенно иной формат шаблона Excel 2010 есть, мягко говоря, сильная разница, так что вышеприведённый скрипт к делу не относится вообще.
Открывался для изменений где — в MS Excel 2010, как понимаю?
И неплохо бы выяснить, где и под каким именем лежит родной шаблон Excel этой самой версии, поскольку без него тут делать нечего. С этим помочь ничем не могу, у меня Office 2003. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
TIGROIDONIA
Joined: 19 Aug 2011 Posts: 8
|
(Separately) Posted: Fri Aug 19, 2011 12:41 Post subject: |
|
|
да в новом excel, задача такая - я с помощью total commander открываю нужую мне директорию и требуется, чтобы после нажатия кнопки в этой директории создавался файл excel с именем, которое вводится при запросе после нажатия.
В директории создается файл name.xlsx и открывается в excel. но в идеале было бы, чтобы создавалась не чистая книга, а книга из заранее созданого шаблона, например из шаблона находящегося по адрессу C:\шаблон.xlsx. PS сгодится и под excel 2003.
вот с такого кода начал
Code: | Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add() |
но в результате происходит просто открытие чистой книги по нажатии кнопки, те физически файл не существует в открытой директории, в результате чего, после внесение изменений, для сохранения через сам excel приходится искать директорию куда сохранить, вот именно от этого геморроя и хотелось бы избавиться, те чтобы просто нажать сохранить, а не сохранить как. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Fri Aug 19, 2011 12:56 Post subject: |
|
|
TIGROIDONIA
Особо не заморачиваясь:
Code: | 'Создает пустой xlsx-файл в текущем каталоге и открывает его
File = InputBox("Введите имя нового файла (без расширения)", "Создание нового xlsx-файла", "Новый файл")
If File = "" Then WScript.Quit
If WScript.Arguments.Count > 0 Then Template = WScript.Arguments(0) Else Template = ""
With CreateObject("Excel.Application")
.Workbooks.Add Template
.Application.ActiveWorkBook.SaveAs CreateObject("WScript.Shell").CurrentDirectory & "\" & File & ".xlsx", 51
.Visible = True
End With |
У кнопки, запускающей скрипт, параметр "Путь запуска" должен быть пустой.
Добавлено: В качестве параметра можно указать шаблон.
TIGROIDONIA
P.S. При вставке в сообщение форума кусков кода обрамляй их тэгом "code". _________________ Нет, я не сплю. Я просто медленно моргаю.
Last edited by Batya on Fri Aug 19, 2011 13:15; edited 1 time in total |
|
Back to top |
|
|
TIGROIDONIA
Joined: 19 Aug 2011 Posts: 8
|
(Separately) Posted: Fri Aug 19, 2011 13:14 Post subject: |
|
|
Огромное спасибо, все супер-пупер, если можно то еще как все же создавать из готовго шаблона? |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Fri Aug 19, 2011 13:15 Post subject: |
|
|
TIGROIDONIA
Сделал. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
TIGROIDONIA
Joined: 19 Aug 2011 Posts: 8
|
(Separately) Posted: Fri Aug 19, 2011 14:18 Post subject: |
|
|
где? |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Fri Aug 19, 2011 14:32 Post subject: |
|
|
"-Тама" © "Любовь и голуби"
См. всё тот же пост со скриптом. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
TIGROIDONIA
Joined: 19 Aug 2011 Posts: 8
|
(Separately) Posted: Fri Aug 19, 2011 15:01 Post subject: |
|
|
разъясните пожалуйста о каком параметре идет речь, если например шаблон находится в директории c:\шаблон\shab.xlsx , то куда этот адрес прописать в скрипте? |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Fri Aug 19, 2011 15:33 Post subject: |
|
|
TIGROIDONIA
Кнопка TC wrote: | TOTALCMD#BAR#DATA
C:\Путь\к\скрипту\скрипт.vbs
c:\шаблон\shab.xlsx
C:\Program Files\Microsoft Office\Office11\EXCEL.EXE,25
Создание нового файла по шаблону
-1 |
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
TIGROIDONIA
Joined: 19 Aug 2011 Posts: 8
|
(Separately) Posted: Fri Aug 19, 2011 17:47 Post subject: |
|
|
метод SaveAs из класса Workbook завершен неверно |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Sat Aug 20, 2011 02:35 Post subject: |
|
|
TIGROIDONIA
У меня просто MS Office 2003.
Открой у себя Excel, запусти запись макроса, выполни сохранение документа в формате MS Office 2007/2010, останови запись макроса. Теперь открой макрос и посмотри значение второго параметра метода SaveAs. Укажи это значение в скрипте вместо моего "51". _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
TIGROIDONIA
Joined: 19 Aug 2011 Posts: 8
|
(Separately) Posted: Sat Aug 20, 2011 04:22 Post subject: |
|
|
я вообще удалил этот парамет и все заработало |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Aug 20, 2011 17:06 Post subject: |
|
|
TIGROIDONIA
Если удалить параметр, то тогда задача с созданием шаблона не решается. Скрипт останется функционировать на прежнем уровне. А при указании шаблона нужно не забыть о кавычках, если есть пробелы в пути. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Sat Aug 20, 2011 21:53 Post subject: |
|
|
TIGROIDONIA
А ведь действительно. Если у тебя MS Office 2010, то у тебя по умолчанию и так нужный формат.
Flasher
Сейчас речь шла не о параметре скрипта, а о втором параметре метода SaveAs. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
|