Я хочу запустить флэш-презентацию внутри Powerpoint 2007. Я вызываю процедуру Win32 ShellExecute (). Когда я запускаю это из места, путь которого является UNC-путем (\ myserver \ myfolder \ sample.ppt), он не работает.
Подпрограмма ShellExecute ожидает 6 аргументов, один из которых - путь для ее запуска. Я попытался установить для этого параметра значение C: \, а также использовать ActivePresentation.Path (это путь UNC). Ни то, ни другое не работает.





Пути UNC начинаются с обратной косой черты двойной. Вы это делаете, или вопрос был в опечатке?
Я прибег к сопоставлению диска с UNC-путем.
Командная строка выглядит примерно так
subst A: "\\ ServerName \ SomeDirectory"
это кажется разумным решением. Меня беспокоит только то, что в некоторых системах пользователям, как мне кажется, не разрешено подключать сетевые диски. Я собираюсь это проверить, похоже, это должно сработать.
ну, теперь, похоже, он отлично работает с путём unc.
Сначала я попробовал этот подход, но обнаружил, что это вызывает проблемы:
Я нашел лучший подход - встроить файл в файл Powerpoint.
Это можно сделать с помощью Office XP, Powerpoint следующим образом.
В меню 'Вид' выберите 'Панели инструментов' и отметьте 'Панель инструментов управления'
На панели инструментов 'Панель инструментов управления' щелкните значок 'Дополнительные элементы управления'
Будет отображен список элементов управления. Прокрутите вниз, пока не найдете 'Shockwave Flash Object', а затем щелкните по нему.
Это должно изменить ваш курсор на перекрестие. Перейдите в область слайда, в которую вы хотите вставить 'Shockwave Flash Object'. Щелкните левой кнопкой мыши, удерживайте и перетащите, чтобы создать поле необходимого размера.
Затем щелкните правой кнопкой мыши только что вставленный элемент управления и выберите 'Характеристики'.
Установите следующие свойства
* Autoload = True
* EmbedMovie = True
* Enabled = True
* Loop = True
* Playing = True
* Visible = True
* Movie = c:\flash.swf (Change this to the location of your .swf file)
Закройте элемент управления "Свойства"
Сохраните файл.
Закройте файл.
Откройте файл заново.
Воспроизведение файла .swf должно начаться автоматически, когда вы дойдете до слайда во время слайд-шоу.
Я счел полезным включить элементы управления (пауза / воспроизведение, временная шкала) в файл .swf.
Я пробовал что-то подобное несколько лет назад. Я обнаружил, что были некоторые проблемы с взаимодействием между PowerPoint и Flash. Иногда вспышка просто не срабатывала. Иногда так и было. Это была ошибка, которую мне никогда не удавалось постоянно воспроизводить. Может быть, сейчас это сработает.
Можете ли вы показать вызов функции ShellExecute () так, как вы сейчас ее используете?