iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0

檢查 Word 狀態 — 我的 AI 助手 API (8)

在 AI 助手的 Word 文件管理功能中,除了能建立、開啟與儲存文件,還需要一個工具來 檢查 Word 的運作狀態

例如:Word 是否正在執行?是否有檔案開啟?當前文件是否已經儲存?

這些資訊可以幫助我們更精準地控制文件流程,避免誤操作。


功能

  • 檢查 Microsoft Word 是否正在執行。
  • 回傳目前 Word 視窗是否顯示 (Visible)。
  • 回報已開啟的文件數量。
  • 如果有文件開啟,提供作用中檔名與是否已儲存 (Saved)。
  • 若 Word 沒有運行,清楚提示狀態。

核心程式碼

@app.post("/check-word-status")
def check_word_status():
    """
    檢查Word應用程式的狀態
    """
    try:
        pythoncom.CoInitialize()
        
        try:
            word_app = win32.GetObject(Class="Word.Application")
            doc_count = word_app.Documents.Count
            is_visible = word_app.Visible
            
            if doc_count > 0:
                active_doc = word_app.ActiveDocument
                doc_name = active_doc.Name
                doc_saved = active_doc.Saved
                
                return {
                    "status": "success", 
                    "message": f"Word正在運行,有{doc_count}個文件開啟",
                    "details": {
                        "documents_count": doc_count,
                        "is_visible": is_visible,
                        "active_document": doc_name,
                        "is_saved": doc_saved
                    }
                }
            else:
                return {
                    "status": "success", 
                    "message": "Word正在運行但沒有開啟的文件",
                    "details": {
                        "documents_count": 0,
                        "is_visible": is_visible
                    }
                }
                
        except:
            return {
                "status": "info", 
                "message": "Word應用程式未運行"
            }
            
    except Exception as e:
        return {
            "status": "error", 
            "message": f"檢查Word狀態時發生錯誤: {e}"
        }
    finally:
        try:
            pythoncom.CoUninitialize()
        except:
            pass

運作流程

  1. 初始化 COM 環境

    確保 Python 能正確與 Word 溝通。

  2. 嘗試取得 Word 應用程式

    • 若成功 → 進入文件檢查流程。
    • 若失敗 → 回傳「Word 未運行」。
  3. 檢查文件數量

    • 如果有文件:回傳 數量、檔名、是否已儲存
    • 如果沒有文件:回傳「正在運行但沒有文件」。
  4. 例外處理

    • 若執行過程中發生錯誤,回傳錯誤訊息。

上一篇
DAY 12
下一篇
DAY 14
系列文
我的 AI 助手開發15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言