Управление выделением текста в Powerpoint - PullRequest
3 голосов
/ 11 мая 2009

Я просто пытался создать код для выделения части текста в PowerPoint, чтобы я мог вставить на него гиперссылку. Я мог достичь этого без каких-либо трудностей в Powerpoint 2003 и, к моему удивлению, он не работал в PowerPoint 2007 ... Код, который я использовал, выглядит следующим образом:

((PowerPoint.Application)applicationObject).ActiveWindow.Selection.TextRange.Text = "PPT";
((PowerPoint.Application)applicationObject).ActiveWindow.Selection.TextRange.Select();
((PowerPoint.Application)applicationObject).ActiveWindow.Selection.TextRange.ActionSettings[Microsoft.Office.Interop.PowerPoint.PpMouseActivation.ppMouseClick].Hyperlink.Address = "http://www.google.com";
((PowerPoint.Application)applicationObject).ActiveWindow.Selection.Unselect();

Может кто-нибудь сказать мне, что могло пойти не так в приведенном выше коде?

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Вам также необходимо установить для действия Action экземпляра ActionSetting значение HyperLink, например. в вашем образце:

((PowerPoint.Application)applicationObject).ActiveWindow.Selection.TextRange.ActionSettings[Microsoft.Office.Interop.PowerPoint.PpMouseActivation.ppMouseClick].Action = PpActionType.ppActionHyperlink;

0 голосов
/ 11 мая 2009

Вы должны сохранить ваше приложение ppt как приложение с макросами, если оно заканчивается на 'x' (например, pptx), вы не можете запускать макросы.

Сохраните как sth с поддержкой макросов, таких как ppsm, pptm,
(используйте сохранить как)

см .: http://msdn.microsoft.com/en-us/library/aa433259.aspx

...