Как получить общее количество слайдов в нескольких презентациях PowerPoint? У меня есть папка с ~ 20 файлами PowerPoint, и мне интересно узнать общее количество слайдов.

Я знаю, что вы можете щелкнуть правой кнопкой мыши и проверить информацию о файле, чтобы получить информацию об этих файлах, но он просто говорит «(несколько значений)», если я выберу несколько файлов (что глупо, поскольку выбор нескольких медиа-файлов даст вам их общую длину).

Я сделал Google, но не смог найти какую-либо соответствующую информацию. Есть простой способ сделать это? Или какой-то известный сценарий?

Спасибо!

1 ответ1

1

У Майкла Хэлпина есть скрипт Powershell, который делает это. Исходный сайт исчез, но он заархивирован по адресу https://web.archive.org/web/20180204011318/http://michaelhalpin.azurewebsites.net:80/use-powershell-to-get-numbers-of-slides -в-PowerPoints /

Вот сценарий:

[CmdletBinding()]
[Alias()]
[OutputType([psobject])]
Param(
# The folder containing the files to count
[Parameter(ValueFromPipelineByPropertyName=$true,
        Position=0)]
$Path = 'C:\temp'
)
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName Office
Add-Type -AssemblyName Microsoft.Office.Interop.Powerpoint

Write-Verbose "Getting files from $path"
$files  = Get-ChildItem -filter *.ppt* -Path $Path

[psobject]$NumberOfSlides= @()

Foreach ($file in $files){
    $application = New-Object -ComObject powerpoint.application
    Write-Verbose "Opening $file" 
    $presentation = $application.Presentations.open($file.fullname)

    $slideCount =  New-Object System.Object
    $slideCount | Add-Member -type NoteProperty -name Name -value $file.name
    $slideCount | Add-Member -type NoteProperty -name Slides -value $presentation.Slides.Count

    #Introduce a slight wait so powerpnt.exe has time to process file
    Start-Sleep -Seconds 2
    $presentation.Close()

    $NumberOfSlides += $slideCount
    }

$NumberOfSlides

Write-Verbose "Cleaning up processes"
get-process powerpnt | Stop-Process

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .