Quantcast
Channel: 簡睿隨筆
Viewing all articles
Browse latest Browse all 897

用AutoHotkey批次快速轉檔:使用GUI圖形介面

$
0
0

將檔案格式轉換處理加上圖形介面。

img

功能說明

  1. 以AutoHotkey的GUI控制撰寫GUI應用,多選輸入檔案,再指定輸出目錄與格式,可整批轉換檔案格式
  2. 使用COM物件Word.Application執行轉檔處理
  3. 目前不處理Excel檔案(使用Excel.Application。參考:使用AutoHotkey讀取Excel檔案的簡單說明

重點說明

AutoHotkey的開啟檔案指令是FileSelectFile,開啟資料夾則是FileSelectFolder。

開啟檔案

  • FileSelectFile語法

    FileSelectFile, OutputVar [, Options, RootDir\Filename, Prompt, Filter]

  • options:
    M: 多檔選擇
    S: 對話窗以〔存檔〕按鈕取代〔開啟〕按鈕
  • M選項後可加類型參數:
    • 1: File Must Exist
    • 2: Path Must Exist
    • 8: Prompt to Create New File
    • 16: Prompt to Overwrite File
    • 32 [v1.0.43.09+]: Shortcuts (.lnk files) are selected as-is rather than being resolved to their targets. This option also prevents navigation into a folder via a folder shortcut.

M:用換行符號分隔,在迴圈裡A_Index=1時,A_LoopFiled是資料夾名稱,A_Index >= 2則是選取的檔案名稱(無資料夾)。

Loop, parse, files, `n 
  {
    if (A_Index = 1) {
      ;MsgBox, The selected files are all contained in %A_LoopField%.
      sInputFolder = %A_LoopField%
    } else {
      _iCount++
      ;MsgBox, 4, , The next file is %A_LoopField%.  Continue?
      _sFilename := sInputFolder . "\" . A_LoopField
      aFiles.push(_sFilename)
      _sSelected := _sSelected . _sFilename . "`n"
      IfMsgBox, No, break
    }
  }

開啟資料夾

  • FileSelectFolder語法

    FileSelectFolder, OutputVar , StartingFolder, Options, Prompt

控制綁定步驟

  1. 對控制命名:以v開頭,v後面的名稱即為控制的名稱。存值到控制:GuiControl,, 控制名稱, 值,例如對話窗裡有一個 vEdtName 控制:
GuiControl,, EdtName, %sName%
  1. 設定控制的處理程序:以g開頭,檔案內要有g後面的名稱加冒號的處理程序

注意事項

  1. 可使用AutoGUI的Debug功能以逐步追蹤腳本程式邏輯
  2. 執行時發生錯誤後,記得由工作管理員裡終止Word應用程式

相關連結

convGUI.ahk與convertFile.ahk

▼ convGUI.ahk

▼ convertFile.ahk

解說影片

##

您可能也會有興趣的類似文章


Viewing all articles
Browse latest Browse all 897

Trending Articles