是的,完全可以。你可以透過 VBS (VBScript) 的 GetObject 函數,直接「介入」並控制電腦中已經在執行(既存)的 Word 程式,將所有開啟的文件自動存檔並關閉。 [1, 2]
📄 VBS 程式碼範例
請將以下程式碼複製,並貼到記事本中,另存新檔為
CloseWord.vbs(注意:副檔名必須是 .vbs,而不是 .txt)。🛠️ 程式碼運作原理
GetObject(, "Word.Application"):這是最關鍵的語法。第一個參數留空(只有逗號),代表不要建立新視窗,而是直接向 Windows 系統索取已經在背景或桌面執行的 Word 控制權。For Each objDoc In objWord.Documents:如果使用者同時打開了 3 個 Word 檔案,這個迴圈會一個一個抓出來處理。objDoc.Save:自動執行儲存。如果是從未存檔過的新文件(例如:Document1),Word 預設會彈出「另存新檔」的視窗讓使用者輸入檔名。objWord.DisplayAlerts = 0:這行可以關閉 Word 的一般警告視窗,確保關閉流程不會被其他不重要的提示阻礙。 [1, 2, 3, 4, 5]
⚠️ 注意事項
- 檔案權限:執行此 VBS 腳本的使用者,必須與開啟 Word 的是同一個 Windows 帳號,否則權限不足會無法安全介入。
- 從未儲存的新檔案:如果既存的 Word 是全新的空白文件且從未存檔過,執行
objDoc.Save時畫面上仍會跳出詢問「你要將檔案存到哪裡」的視窗。 [6]
請問這個既存的 Word 檔案,是已經有原本的路徑檔名(只需直接覆蓋存檔),還是需要另外指定特定的資料夾夾與新檔名呢?
沒有留言:
張貼留言