Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 27.01.2009, 21:32   #1
Фернан
 
Регистрация: 27.01.2009
Сообщений: 4
По умолчанию Запуск файла из Excel

Помогите запустить файл который находится на компьютере из Excel.

В поиске нашел что это можно сделать с помощью Shell, но как именно?

Если точнее, мне нужно чтобы сработал медиа файл при нажатии на картинку.
Фернан вне форума
Старый 27.01.2009, 22:27   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Назначьте картинке макрос ЗапускМедиафайла:

Код:
Sub ЗапускМедиафайла()
    ПутьКФайлу = """E:\Music\NEW MUSIC\Blue System - Sorry Little Sarah.mp3"""
    CreateObject("WScript.Shell").Run ПутьКФайлу
End Sub
Про использование объекта WshShell можно почитать, например, здесь.
EducatedFool вне форума
Старый 27.01.2009, 23:38   #3
Фернан
 
Регистрация: 27.01.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Назначьте картинке макрос ЗапускМедиафайла:

Код:
Sub ЗапускМедиафайла()
    ПутьКФайлу = """E:\Music\NEW MUSIC\Blue System - Sorry Little Sarah.mp3"""
    CreateObject("WScript.Shell").Run ПутьКФайлу
End Sub
Про использование объекта WshShell можно почитать, например, здесь.
Спасибо что ответили

Если чесно я плохо разбираюсь в скриптах.

Если не трудно не могли бы вы поподробнее расписать как назначить макрос на картинку, и.т.д

А лучше всего сделали бы небольшой образец.

Буду очень благодарен
Фернан вне форума
Старый 27.01.2009, 23:48   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

1) Щелкаем правой кнопкой на ярлычке листа, и выбираем пункт Исходный текст.
Откроется окно редактора VBA

2) Вставляем предварительно скопированный код макроса туда, где мигает курсор
(просто нажимаем Ctrl + V)

3) Изменяем в макросе путь к файлу - вместо E:\Music\NEW MUSIC\Blue System - Sorry Little Sarah.mp3 указываете полный путь к своему файлу.
Не забывайте про три двойных кавычки до и после пути к файлу. (они там уже есть, главное, их случайно не удалить)

4)Переключается обратно в Excel (закрываем редактор VBA)

5)Правой кнопкой на картинке, выбираем пункт Назначить макрос

6)В появившемся окне выбора макроса выбираем макрос ЗапускМедиафайла (он там один среди доступных)

6) Жмём ОК.

7) Щелкаем на картинке и наслаждаемся
EducatedFool вне форума
Старый 28.01.2009, 21:31   #5
Фернан
 
Регистрация: 27.01.2009
Сообщений: 4
По умолчанию

Спасибо, работает)
Еще один вопрос
дело в том что у меня одна папка в которой и файлы и эксель\
и если переместить эту папку на другой диск, то перестаёт всё работать
можно-ли как то избавится от привязку к диску?
Фернан вне форума
Старый 29.01.2009, 05:20   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Используйте такой вариант:

Код:
Sub ЗапускМедиафайла()
    ИмяФайла = "header_b.jpg"
    ПутьКФайлу = Chr(34) & Replace(ThisWorkbook.FullName, ThisWorkbook.Name, ИмяФайла) & Chr(34)
    CreateObject("WScript.Shell").Run ПутьКФайлу
End Sub
Теперь никакой привязки к диску.
Изменяете только имя файла в строке ИмяФайла = "header_b.jpg"
Файл должен находиться в той же папке, что и файл Excel.
EducatedFool вне форума
Старый 29.01.2009, 22:51   #7
Фернан
 
Регистрация: 27.01.2009
Сообщений: 4
По умолчанию

EducatedFool, спасибо
Фернан вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск файла С# TaTT DoGG Общие вопросы .NET 10 24.11.2008 23:05
Запуск файла на исполнение Doloto Общие вопросы C/C++ 4 03.04.2008 01:15
Прописать запуск exe-файла Manitu Помощь студентам 4 07.03.2008 10:31
Запуск файла по пути John_chek Общие вопросы Delphi 3 29.05.2007 12:38
запуск некоего файла Viten2 Общие вопросы Delphi 4 29.01.2007 20:04