Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как запустить внешнее приложение по клику / 13 сообщений из 13, страница 1 из 1
16.01.2009, 14:37:52
    #35761560
recvezitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
сабж. В частности нужно запустить totalcomander с открытой папкой путь к которой задается. В VBA я впервые но опыт программирования есть
...
Рейтинг: 0 / 0
18.01.2009, 20:33:17
    #35763590
_slan_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
recvezitor,
читайте справу про shell
...
Рейтинг: 0 / 0
19.01.2009, 07:43:57
    #35763839
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
recvezitor,

Код: plaintext
1.
2.
program = "Z:\Dost\Дост.cmd"
TaskID = Shell(program,  1 )
...
Рейтинг: 0 / 0
19.01.2009, 15:43:48
    #35765048
recvezitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
Пасибо, с самим макросом разобрался
Sub MAIN()
program = "C:\Program Files\Total Commander\Totalcmd.exe C:\ F:\"
TaskID = Shell(program, 1)
End Sub


, а как теперь его скрестить с гиперссылкой? Чтобы по клику срабатывал макрос.
не откажусь от файлика доковского :)
...
Рейтинг: 0 / 0
19.01.2009, 15:54:19
    #35765084
recvezitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
и еще сразу такой вопрос. Можно ли сделать так, чтобы в самом документе была бы строчка например такого формата
path = C:/Program Files/Total Commander/cmd.exe;

а потом макросом считать это значение и использовать его при открытии внешнего файла?
...
Рейтинг: 0 / 0
20.01.2009, 06:07:09
    #35766139
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
recvezitorПасибо, с самим макросом разобрался
Sub MAIN()
program = "C:\Program Files\Total Commander\Totalcmd.exe C:\ F:\"
TaskID = Shell(program, 1)
End Sub


, а как теперь его скрестить с гиперссылкой? Чтобы по клику срабатывал макрос.
не откажусь от файлика доковского :)А зачем макросом???
в гиперссылке прописываешь путь к программе и она запускается...
...
Рейтинг: 0 / 0
20.01.2009, 06:14:55
    #35766141
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
recvezitorи еще сразу такой вопрос. Можно ли сделать так, чтобы в самом документе была бы строчка например такого формата
path = C:/Program Files/Total Commander/cmd.exe;

а потом макросом считать это значение и использовать его при открытии внешнего файла?
Если в Экселе в ячейке A1 прописан путь, то можно его взять так:
Код: plaintext
1.
2.
3.
Sub MAIN()
program = ThisWorkbook.Sheets("лист1").Range("A1").Value
TaskID = Shell(program,  1 )
End Sub
или, что одно и тоже
Код: plaintext
1.
2.
3.
4.
Sub MAIN()
path = ThisWorkbook.Sheets("лист1").Range("A1").Value
program = path
TaskID = Shell(program,  1 )
End Sub
...
Рейтинг: 0 / 0
20.01.2009, 08:22:47
    #35766184
recvezitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
Сергей06,

вобщем объясню ситуацию (надо было с самого начала сделать).
У меня должен быть доковский файлик (именно док ибо "эксель это для домохозяек" как говорит начальник). В нем так называемая "база данных". Т.е. обычная табличка, в одном из столбцов которой находится ссылка на расположение файла. НО! если бы это была обычная гиперссылка, коорая открывалась бы проводником, то проблем нет. НО! начальник говорит "проводник для домохозяек, хочу Totalcommander". Т.е. такой формат

path = "C:\Program Files\Total Commander\Totalcmd.exe";

файл1 123кб 7мешковкартошки <ссылка | C:\dataBase\файл1.bin>
файл2 122кб 3мешковкартошки <ссылка | C:\dataBase\файл2.bin>
файл3 125кб 1мешковкартошки <ссылка | C:\dataBase\файл3.bin>

А в самом начале типа путь к файлу Totalcmd.exe. А то вдруг он на компе у кого в другом месте лежит.

То есть нажав на "ссылку", я запускаю свой макрос. Который считывает path к коммандеру и подсовывает ему путь к искомому файлу. Т.е. в конце концов должно получиться так:

Sub MAIN()
program = "C:\Program Files\Total Commander\Totalcmd.exe C:\dataBase\файл1.bin"
TaskID = Shell(program, 1)
End Sub
...
Рейтинг: 0 / 0
20.01.2009, 08:36:37
    #35766201
recvezitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
Возможно path можно не реализовывать... если что можно макрос подправить. А вообще реально ли запустить макрос по какому нибудь событию?
...
Рейтинг: 0 / 0
20.01.2009, 09:02:08
    #35766224
nporaMep
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
по какому-нибудь реально
...
Рейтинг: 0 / 0
20.01.2009, 09:50:59
    #35766317
recvezitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
а пример можно, например по сохранению документа выдать месадж бокс ?
...
Рейтинг: 0 / 0
20.01.2009, 10:52:31
    #35766499
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
recvezitor,
По-уродски, но может такое подойдет, или натолкнет на хорошую мысль.
во вложении 2 файла.
Один доковский, другой КаэМДэшный.
Сахрани их в папку темп.
Поменяй в Nachalniku.cmd путь к своему тоталкомандеру и к нужный файлам.
В доковском файле гиперссылка на файл Nachalniku.cmd

Вот такая хрень...
...
Рейтинг: 0 / 0
20.01.2009, 15:15:31
    #35767278
recvezitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить внешнее приложение по клику
Жесть конечно вы придумали :)

Вот че придумал. Перехватываю событие открытие гиперссылки. Единственное, это все работает толко если правой кнопкой нажимать,а потом открыть гиперссылку. Обычный клик не перехватывается. И еще обязательно писать абсолютный путь, иначе командер не откроет нужны путь

Sub HyperlinkOpen()
'
' HyperlinkOpen Макрос
' Открыть
'
'Selection.Range.Hyperlinks(1).Follow AddHistory:=True
If Selection.Range.Hyperlinks.Count >= 1 Then

program = "C:\Program Files\Total Commander\Totalcmd.exe " + Selection.Range.Hyperlinks(1).Address + " " + Selection.Range.Hyperlinks(1).Address
MsgBox program
TaskID = Shell(program, 1)
End If
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как запустить внешнее приложение по клику / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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