powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос из bat файла
21 сообщений из 21, страница 1 из 1
Макрос из bat файла
    #38885231
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, форумчане! Вопрос наверняка уже не новый и много раз задавался, но не могу найти подходящее. Буду рад за помощь! Записал в Excel макрос, который из большой таблицы удаляет ненужные столбцы, меняет название некоторых столбцов и сохраняет то, что осталось в файл .txt. У меня такие excel файлы появляются раз в неделю, иногда раз в 2 дня, по разному и хотелось бы создать какой-нибудь батник, в котором в параметры передаются excel файлы и макрос и он его выполняет, и потом я сформировавшийся после работы макроса текстовый файл забирал и делал дальнейшие с ним действия. Спасибо
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885237
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше тогда перенести макрос в VBS-скрипт и выполнять его с понравившимися параметрами
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885243
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, то есть это самый простой вариант?
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885251
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну мне отсюда не видно сложность вашего макроса.

на мой взгляд - это наиболее логичный путь
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885257
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, макрос мне кажется простой, только вопрос в том, как его переделать в скрипт, с этим у меня будут проблемы, поэтому уточнил, легкий ли это способ?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Attribute VB_Name = "Module4"
Sub Макрос()
Attribute Макрос.VB_ProcData.VB_Invoke_Func = "к\n14"
'

'

'
    Rows("1:2").Select
    Selection.Delete Shift:=xlUp
    Columns("A:I").Select
    Selection.Delete Shift:=xlToLeft
    Columns("D:D").Select
    Selection.Delete Shift:=xlToLeft
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "OGRN"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Name"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "Brief"
    Range("E2").Select
    ChDir "C:\"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Реестр 3.02.2015.txt", FileFormat:=xlText, _
        CreateBackup:=False
End Sub

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885277
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
начать надо с этого
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885281
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее создать файл с расширением vbs, в котором будет примерно следующее

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Set XL = CreateObject("Excel.Application")
Set WB = XL.Workbooks.Open("c:\myfile.xls")
Set WS = WB.Worksheets(1)

WS.Rows("1:2").Delete

...

WB.SaveAs....
WB.Close
XL.Quit

соль и перец по вкусу
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885412
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, спасибо! А не подскажите пожалуйста еще, создал вот такой скрипт, но выходит ошибка синтаксиса на строке сохранения, а именно: строка 11, символ 20, ошибка: Предполагается наличие инструкции, код: 800А0400
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Set XL = CreateObject("Excel.Application")
Set WB = XL.Workbooks.Open("c:\myfile.xlsx")
Set WS = WB.Worksheets(1)
'
    WS.Rows("1:2").Delete 
    ws.Columns("A:I").Delete 
    ws.Columns("D:D").Delete 
    ws.Range("A1").FormulaR1C1 = "OGRN"
    ws.Range("B1").FormulaR1C1 = "Name"
    ws.Range("C1").FormulaR1C1 = "Brief"
    WB.SaveAs Filename:="C:\реестр.txt", FileFormat:=xlText, _
	CreateBackup:=False
    WB.Close
    XL.Quit
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885417
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sabitaidrЗаписал в Excel макрос, который из большой таблицы удаляет ненужные столбцы, меняет название некоторых столбцов и сохраняет то, что осталось в файл .txt. У меня такие excel файлы появляются раз в неделю, иногда раз в 2 дня, по разному и хотелось бы создать какой-нибудь батник...А почему бы не сохранить макрос в Личной книге макросов (что Excel предлагает в начале записи макроса)?
Открыл файл, Alt+F8, выбрал макрос, получил результат.
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885476
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский, можно и так, согласен, но хотелось бы это делать не открывая excel, вот и пришел вариант с бат файлом
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885492
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В VBS нельзя использовать именованные параметры. И константу xlText WSH не знает. Поэтому строка сохранения может выглядеть так:
Код: vbnet
1.
WB.SaveAs "C:\реестр.txt", -4158
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885503
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский, не совсем понял, а что здесь именованный параметр, можно пояснить?
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885505
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский,и еще вопрос, у меня выходит вопрос: "Сохранить изменения в файле реестр.txt?" Я просто плохо понимаю, он из excel должен сохранять в текстовый файл, зачем что-то изменять, если ничего нет?
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885509
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский, и выходит ошибка excel, что работа не завершена. Можно что-то сделать?
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885511
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
WB.Close 0 'закрыть без сохранения
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885515
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885516
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский, вот с этой ошибкой что делать?
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885534
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во-1 перезагрузть комп, а то в памяти сидит множество экземпляров Excel от неудачных попыток (можно в диспетчере задач посмотреть).
Во-2 добавить строку, чтобы Excel удалял существующий файл "C:\реестр.txt" без запроса.
Код: vbnet
1.
xl.displayalerts=false
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885583
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
 WB.SaveAs Filename:="C:\реестр.txt", FileFormat:=xlText, _
	CreateBackup:=False


sabitaidrа что здесь именованный параметр, можно пояснить?выделенное - использование именованных параметров. У SaveAs очень много необязательных параметров, чтобы использовать только нужные, указывается их имя. Однако, VBS такой записи не понимает. Необходимо указывать параметры в порядке их следования (ненужные можно пропускать, просто ставя следующую запятую)
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885586
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sabitaidrКазанский,и еще вопрос, у меня выходит вопрос: "Сохранить изменения в файле реестр.txt?" Я просто плохо понимаю, он из excel должен сохранять в текстовый файл, зачем что-то изменять, если ничего нет?Эксель понимает, что в текстовом файле он не может сохранить все нюансы, поэтому считает, что файл не сохранен
...
Рейтинг: 0 / 0
Макрос из bat файла
    #38885678
sabitaidr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, все получилось!!!
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос из bat файла
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]