前提・実現したいこと
特定の文字列を含むPowerPointのファイルを対象とし、
特定のフォルダに移動したい。含まない場合は移動しない。
下記点でもご確認させて頂きたく存じます。
・そもそもPowershellが妥当か
(勉強の一環でPowershellを使っていますが、PowerPoint VBAの方がよいですか。あるいはもっと別の方法がありますなど)
・Powershellで文字列検索をしたとして、戻り値が拾えるか
(移動する/しないの判断に使えるか)
該当のソースコード
PowerShell
1# ini読み込み 2function ReadIniFile($FileName) 3{ 4 $lines = get-content $FileName 5 foreach ($line in $lines){ 6 # コメントと空行を除外 7 if($line -match "^$"){ continue } 8 if($line -match "^#"){ continue } 9 10 # 検索文字列と移動先ディレクトリ名を取得 11 $param = $line.split(",",2) 12 $TargetWord = $param[0] 13 $TargetDir = $param[1] 14 } 15} 16 17$INI_FILE = ".\pptMove.ini" 18ReadIniFile($INI_FILE) 19 20$ppt = New-Object -ComObject PowerPoint.Application 21$ppt.Visible = [Microsoft.Office.Core.MsoTriState]::msoTrue 22 23# カレントディレクトリ配下のPowerpoint を開く 24$lines = Get-ChildItem -Recurse | select-object fullname | findstr pptx 25foreach ($line in $lines){ 26 $pptxFile = $ppt.Presentations.Open("$line") 27 ### ここにしたい処理が入る。 ### 28 $pptxFile.Close() 29}
試したこと
上記で開くまではできましたが、PowerPoint内の処理方法がわかりませんでした。
補足情報(FW/ツールのバージョンなど)
PowerShell 5.1
Microsoft Office 365 MSO(16.0.11231.20614) 32bit

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。