在使用 FileLocator (使用 FileLocator 在資料夾中搜尋文件內容) 時發現在 pdf 中找會比 pptx 準確。換句話說,有些關鍵字在 pptx 中找不到的,把 pptx 匯成 pdf 後就可以被找到。為了不要手動一個一個匯出,我們就需要一個可以大量轉換的工具。

windows 腳本

我從 references 第一篇找到轉換腳本,微調需要手動設定路徑部分改成以目前路徑為輸入。原本 ppt2pdf.bat 有點問題無法執行也根據 references 第二篇修復了。

在目標資料夾中新增兩個檔案: ppt2pdf.bat、run.bat

@if (@X)==(@Y) @end /* JScript comment
    @echo off

    cscript //E:JScript //nologo "%~f0" %*

    exit /b %errorlevel%
    
@if (@X)==(@Y) @end JScript comment */

var source=WScript.Arguments.Item(0);
var target=WScript.Arguments.Item(1);

var PP;
//https://stackoverflow.com/q/65923669
PP = new ActiveXObject("PowerPoint.Application");
PP.Visible = true;
PRSNT = PP.Presentations.Open(source,0,0,0);

//https://msdn.microsoft.com/en-us/vba/powerpoint-vba/articles/ppsaveasfiletype-enumeration-powerpoint
PRSNT.SaveAs(target,32);
PRSNT.Close();
PP.Quit();
PP = null;
::source: https://stackoverflow.com/a/45349987 
@echo off
set ppt_dir=%CD%
set output_dir=%CD%

for %%a in ("%ppt_dir%\*.ppt") do (
  echo "Convert %%~nxa to %%~na.pdf"
  call "ppt2pdf.bat" "%%~fa" "%output_dir%\%%~na.pdf"
)

接著點兩下 run.bat 執行即可。過程中有問題直接在 cmd 視窗按下 Crtl-Pause 即可結束進行到一伴的轉換。

執行結果

執行結果

OuO

References

  • ⊛ Back to top
  • ⊛ Go to bottom