powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как запустить внешнее приложение по клику
13 сообщений из 13, страница 1 из 1
как запустить внешнее приложение по клику
    #35761560
recvezitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сабж. В частности нужно запустить totalcomander с открытой папкой путь к которой задается. В VBA я впервые но опыт программирования есть
...
Рейтинг: 0 / 0
как запустить внешнее приложение по клику
    #35763590
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
recvezitor,
читайте справу про shell
...
Рейтинг: 0 / 0
как запустить внешнее приложение по клику
    #35763839
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
recvezitor,

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


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

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


, а как теперь его скрестить с гиперссылкой? Чтобы по клику срабатывал макрос.
не откажусь от файлика доковского :)А зачем макросом???
в гиперссылке прописываешь путь к программе и она запускается...
...
Рейтинг: 0 / 0
как запустить внешнее приложение по клику
    #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
как запустить внешнее приложение по клику
    #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
как запустить внешнее приложение по клику
    #35766201
recvezitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно path можно не реализовывать... если что можно макрос подправить. А вообще реально ли запустить макрос по какому нибудь событию?
...
Рейтинг: 0 / 0
как запустить внешнее приложение по клику
    #35766224
nporaMep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по какому-нибудь реально
...
Рейтинг: 0 / 0
как запустить внешнее приложение по клику
    #35766317
recvezitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а пример можно, например по сохранению документа выдать месадж бокс ?
...
Рейтинг: 0 / 0
как запустить внешнее приложение по клику
    #35766499
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
recvezitor,
По-уродски, но может такое подойдет, или натолкнет на хорошую мысль.
во вложении 2 файла.
Один доковский, другой КаэМДэшный.
Сахрани их в папку темп.
Поменяй в Nachalniku.cmd путь к своему тоталкомандеру и к нужный файлам.
В доковском файле гиперссылка на файл Nachalniku.cmd

Вот такая хрень...
...
Рейтинг: 0 / 0
как запустить внешнее приложение по клику
    #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
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как запустить внешнее приложение по клику
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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