Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Скрипт для создания шаблона Excel
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
TIGROIDONIA



Joined: 19 Aug 2011
Posts: 8

Post (Separately) Posted: Fri Aug 19, 2011 11:16    Post subject: Скрипт для создания шаблона Excel Reply with quote

Есть у меня вот такая кнопочка
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
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9014
Location: Россия, Саратов

Post (Separately) Posted: Fri Aug 19, 2011 12:08    Post subject: Reply with quote

TIGROIDONIA
Оформление заголовка темы и скрипта приведено в пристойное состояние.
Между созданием простого тестового документа и имеющего совершенно иной формат шаблона Excel 2010 есть, мягко говоря, сильная разница, так что вышеприведённый скрипт к делу не относится вообще.
Открывался для изменений где — в MS Excel 2010, как понимаю?
И неплохо бы выяснить, где и под каким именем лежит родной шаблон Excel этой самой версии, поскольку без него тут делать нечего. С этим помочь ничем не могу, у меня Office 2003.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
TIGROIDONIA



Joined: 19 Aug 2011
Posts: 8

Post (Separately) Posted: Fri Aug 19, 2011 12:41    Post subject: Reply with quote

да в новом 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
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Fri Aug 19, 2011 12:56    Post subject: Reply with quote

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
View user's profile Send private message
TIGROIDONIA



Joined: 19 Aug 2011
Posts: 8

Post (Separately) Posted: Fri Aug 19, 2011 13:14    Post subject: Reply with quote

Огромное спасибо, все супер-пупер, если можно то еще как все же создавать из готовго шаблона?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Fri Aug 19, 2011 13:15    Post subject: Reply with quote

TIGROIDONIA
Сделал.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
TIGROIDONIA



Joined: 19 Aug 2011
Posts: 8

Post (Separately) Posted: Fri Aug 19, 2011 14:18    Post subject: Reply with quote

где?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Fri Aug 19, 2011 14:32    Post subject: Reply with quote

TIGROIDONIA wrote:
где?
"-Тама" © "Любовь и голуби" Smile

См. всё тот же пост со скриптом.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
TIGROIDONIA



Joined: 19 Aug 2011
Posts: 8

Post (Separately) Posted: Fri Aug 19, 2011 15:01    Post subject: Reply with quote

разъясните пожалуйста о каком параметре идет речь, если например шаблон находится в директории c:\шаблон\shab.xlsx , то куда этот адрес прописать в скрипте?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Fri Aug 19, 2011 15:33    Post subject: Reply with quote

TIGROIDONIA
Кнопка TC wrote:
TOTALCMD#BAR#DATA
C:\Путь\к\скрипту\скрипт.vbs
c:\шаблон\shab.xlsx
C:\Program Files\Microsoft Office\Office11\EXCEL.EXE,25
Создание нового файла по шаблону


-1

_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
TIGROIDONIA



Joined: 19 Aug 2011
Posts: 8

Post (Separately) Posted: Fri Aug 19, 2011 17:47    Post subject: Reply with quote

метод SaveAs из класса Workbook завершен неверно
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Sat Aug 20, 2011 02:35    Post subject: Reply with quote

TIGROIDONIA
У меня просто MS Office 2003.
Открой у себя Excel, запусти запись макроса, выполни сохранение документа в формате MS Office 2007/2010, останови запись макроса. Теперь открой макрос и посмотри значение второго параметра метода SaveAs. Укажи это значение в скрипте вместо моего "51".
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
TIGROIDONIA



Joined: 19 Aug 2011
Posts: 8

Post (Separately) Posted: Sat Aug 20, 2011 04:22    Post subject: Reply with quote

я вообще удалил этот парамет и все заработало
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12863
Location: Москва

Post (Separately) Posted: Sat Aug 20, 2011 17:06    Post subject: Reply with quote

TIGROIDONIA
Если удалить параметр, то тогда задача с созданием шаблона не решается. Скрипт останется функционировать на прежнем уровне. А при указании шаблона нужно не забыть о кавычках, если есть пробелы в пути.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Sat Aug 20, 2011 21:53    Post subject: Reply with quote

TIGROIDONIA
А ведь действительно. Если у тебя MS Office 2010, то у тебя по умолчанию и так нужный формат.

Flasher
Сейчас речь шла не о параметре скрипта, а о втором параметре метода SaveAs.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group