Казанский, да, действительно, все гениальное просто. Про vbs - наверное нет смысла, потому что удобнее через первую сессию Excel отслеживать, но мысль интересная, попробую. Спасибо большое!
Для тех, кто не понял: В исполняющий файл добавляем макрос
Код
sub auto_otkr()
shell "excel.exe c:\book1.xlsm" 'путь к файлу
end sub
А в исполняемый файл или в код книги "Этакнига" вставить Private Sub Auto_Open() и вызов нужного макроса через Call, либо просто переименовать исполняемый макрос в Sub Auto_Open()
Добрый день! Подскажите, пожалуйста, как решить следующую проблему. Я работаю в книге, при этом мне нужно с разной периодичностью или одновременно(параллельно) запустить несколько макросов в других книгах. Понимаю, что можно сделать это каждый раз открывая нужную книгу и запускать соответствующий макрос. Либо запускать макросы последовательно - но это не то, нужна экономия времени. Т.е. хочу автоматизировать. По автоматизации делаю следующее, например, - запускаю Excel как объект, открываю в нем нужную книгу и вручную запускаю макрос, тогда можно работать параллельно - так сказать полуавтомат. Что не получается? - Запустить макрос в новой книге автоматически "правильно", он подвешивает и первую книгу, а мне в ней работать.
Пробовал следующие алгоритмы решения: 1. Через Object:
Код
Dim oXL As Object, wb As Object
Set oXL = CreateObject("Excel.Application")
oXL.Visible = True
Set wb = oXL.workbooks.Open("C:\book1.xlsm")
oXL.Run "A_macro"
'Application.Run ("'" & wb.Path & "\" & wb.Name & "'" & "!" & "A_macro")
Set oXL = Nothing
Пробовал 2 варианта запуска макроса.
2. Через Application, с проверкой создания:
Код
Dim aXL As Excel.Application
Set aXL = New Excel.Application
aXL.Visible = True
aXL.workbooks.Open "c:\book1.xlsm"
aXL.Run "A_macro"
'Application.Run ("c:\book1.xlsm!A_macro")
3. Через with, ну мало ли:
Код
With CreateObject("Excel.Application")
.Visible = True
.workbooks.Open "c:\book1.xlsm"
.Run "A_macro"
End With
Может быть макрос не той командой запускаю - "run"? Может копать в сторону надстройки - через личную книгу создавать ярлык и автозапуск? Еще читал - про возможность автоматического запуска макроса при открытии файла и перехвата dde-запросов. Помогите или направьте на путь
Не знаю, нужен ли тут пример, есть два файла - один исполняющий, другой исполняемый.
Добрый день! Помогите, пожалуйста, правильно написать макрос в пользовательских функциях для вызова формулы "Поиск1" из Module1. Нужно посчитать количество ячеек, если в строке совпадают два параметра в двух разных колонках, заданных пользователем - цвет ячейки и значение. Цвет ячейки и значение задаем отдельными ячейками - D1 и D2, соответственно. Поиск по цвету или по значению - получается, а как свести их вместе одним счетчиком - не соображу. В приложенном примере в ячейке D4 должно получиться значение "2".