Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как запустить файл из Excel / 14 сообщений из 14, страница 1 из 1
11.10.2010, 19:16
    #36893375
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
при определенном условии, т.е. идея в том, что файл Excel будет запускаться в определнное время извлекать данные с Интернета анализировать их и по результатам будет или не будет запускаться другой файл, например, с расширением .bat. Я не нашел в поиске ответа на мой вопрос, но думаю, что это должно быть просто.
...
Рейтинг: 0 / 0
11.10.2010, 19:18
    #36893380
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
shell

или АПИ - shellexecute
...
Рейтинг: 0 / 0
11.10.2010, 19:55
    #36893441
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Получился у меня такой код (я давно не писал на VBA, так что забыл многое):

Sub Report()
Dim launch As String

launch = Shell("h:\Database\test.txt", vbNormalNoFocus)

If Sheet1!D3 <> 1 Then

launch

Else

End If

End Sub
...
Рейтинг: 0 / 0
11.10.2010, 20:02
    #36893453
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
1) Код в форуме оформляется тэгами SRC
2) Shell возвращает число, а не строку
3) Shell-у надо указывать исполняемый файл, в данном случае "notepad.exe h:\Database\test.txt"
4) Что вы хотели сказать строкой "launch" - неясно
5) Если после Else ничего нет, то и Else не нужен - компилятор заругает
...
Рейтинг: 0 / 0
11.10.2010, 20:12
    #36893465
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Shocker.Pro,

ИМХО, которое проверено, компилятор ругаться не будет от того есть ли строка после Эльзы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
If  6  <>  1  Then
Beep
Else
End If

If  6  <>  1  Then
Else
End If
Не ругается, или что Вы под этим подразумеваете???
...
Рейтинг: 0 / 0
11.10.2010, 20:14
    #36893468
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Ципихович ЭндрюНе ругается
Действительно, не ругается, с какой-то другой средой значит перепутал, ну минус этот пункт, хотя смысла в Else в данном случае нет.
...
Рейтинг: 0 / 0
12.10.2010, 11:18
    #36894176
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Я давно не работал с VBA и давно не пользовался помощью сайта, так что прошу прощения за тупость.
Такой код не работает, говорит, ошибка 438 Object doesn't support this property of method:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub Report()
Dim launch As Integer

If Sheet1!D3 <>  1  Then

launch = Shell("notepad.exe h:\Database\test.txt", vbNormalNoFocus)

Else

End If

End Sub
...
Рейтинг: 0 / 0
12.10.2010, 11:55
    #36894285
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Код: plaintext
If ThisWorkbook.WorkSheets("Sheet1").Range("D3") <>  1  Then
...
Рейтинг: 0 / 0
12.10.2010, 12:22
    #36894366
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Поправил код, теперь он работает, но только когда я запускаю его вручную из редактора VBA, и не срабатывает при запуске. Как заставить работать при запуске файла?
...
Рейтинг: 0 / 0
12.10.2010, 12:37
    #36894412
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Разместите код в процедуре Workbook_Open
...
Рейтинг: 0 / 0
12.10.2010, 12:41
    #36894435
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Спасибо, все работает!
...
Рейтинг: 0 / 0
12.10.2010, 13:04
    #36894506
Валентин67
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Shocker.ProЦипихович ЭндрюНе ругается
Действительно, не ругается, с какой-то другой средой значит перепутал, ну минус этот пункт, хотя смысла в Else в данном случае нет.

По крайней мере во всех диалектах Бейсик'а всегда выполняется ровно один блок кода, возможно пустой. В данной конструкции if ... then ... else естественно else не имеет смысла писать.
...
Рейтинг: 0 / 0
12.10.2010, 13:27
    #36894571
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Валентин67,
я и не спорю, согласен, что можно Ельзе и не писать именно в этом случае
...
Рейтинг: 0 / 0
27.10.2010, 16:49
    #36923449
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить файл из Excel
Ципихович Эндрю,

Странно, но когда не пишу Else, то код попросту не работает...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как запустить файл из Excel / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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