Как применять темы по умолчанию в PowerPoint, используя Power-Shell - PullRequest
0 голосов
/ 23 октября 2018

На работе меня попросили убедиться, что у всех одинаковая тема по умолчанию в их приложении PowerPoint, чтобы все были едины и совместимы.Проблема в том, что я не знаю как, но я знаю, что Power-Shell может сделать это для меня.Я начал с хорошего совета, но этот сценарий не работал для меня.

Add-type -AssemblyName office
$Application = New-Object -ComObject powerpoint.application
$application.visible = [Microsoft.Office.Core.MsoTriState]::msoTrue

$themePath = "C:\Users\emp\AppData\Roaming\Microsoft\Templates\Document Themes\Theme1.thmx"
$path = "C:\Users\emp\AppData\Roaming\Microsoft\Templates\Document Themes"
Get-ChildItem -Path $path -Include "*.ppt", "*.pptx" -Recurse |
ForEach-Object {
 $presentation = $application.Presentations.open($_.fullname)
 $presentation.ApplyTemplate($themePath)
 $presentation.Save()
 $presentation.Close()
 "Modifying $_.FullName"
} 

$application.quit()
$application = $null
[gc]::collect()
[gc]::WaitForPendingFinalizers()

Может кто-нибудь пролить свет на то, как изменить тему по умолчанию с помощью powershell?Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 23 октября 2018

Вы не говорите, какую версию PowerPoint вы используете.Каждая версия немного отличается от предыдущей, даже в зависимости от того, кого вы будете делать с помощью объектной модели.

В общем случае код, который вы используете, должен решать ваш вариант использования (который выглядит так, как будто вы использовализдесь: Блог PowerShell 101 или отсюда: Эй, сценарист! Как я могу настроить презентации Microsoft PowerPoint ), но вы не говорите, что у вас есть какие-либо ошибки в том, что вы естьс помощью.Так что вы подразумеваете под этим?

Я начал с хорошего совета, но этот сценарий не сработал для меня.

Я не уверен, почему вы чувствуетеPowerShell - это возможность сделать это.Пользователям все равно придется запускать его, чтобы изменения произошли, или пользователь мог просто установить это самостоятельно в PowerPoint.

В PP2K16 они просто делают следующее:

  1. Запускают PPT
  2. Используйте Файл> Создать из шаблона
  3. Выберите шаблон для создания новой презентации
  4. Перейдите на вкладку «Дизайн»
  5. Разверните галерею тем
  6. Выберите команду «Сохранить текущую тему» ​​
  7. Назовите файл темы и нажмите «Сохранить»
  8. В галерее тем щелкните правой кнопкой мыши по миниатюре и выберите «Установить как тему по умолчанию»

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

Проще говоря, вы не можете технически заставить пользователя использовать данный шаблон в PowerPoint.В MSOffice / PowerPoint нет настройки, позволяющей это сделать.

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

Вы можете удалить все существующие шаблоны и скопировать только нужный шаблон в папки по умолчанию ииспользуйте GPO, чтобы установить значение по умолчанию.Опять же, это все еще не останавливает пользователя от добавления или модификации.

...