回覆列表
  • 1 # 使用者9308008018966

    首先說解決方法:程式碼1加上find.Wrap = 1 即可,程式碼2為Excute函式新增關鍵字引數Wrap=1即可。以下詳細解釋:Find物件相當於一般文字編輯中的查詢/替換對話方塊。回想一下我們平時用查詢/替換時的情景,當我們把游標放在文件中間時,當搜尋到文件結束時,查詢/替換對話方塊可能會詢問你是否要重頭開始搜尋。也就是說查詢/替換的查詢功能是按順序,有起點,有方向的,還有一個更重要的Wrap屬性,它規定了從起點按順序查詢結束後的處理動作。1.查詢起點就是你的文件當前插入游標的位置。2.查詢方向就是從當前起點開始順序向前搜尋還是向後搜尋,查詢方向由Find物件的Forward屬性設定,Forward = True表示從當前位置按順序向前搜尋,向前搜尋是預設值;Forward = False表示向後搜尋。3.Wrap屬性規定了從起點按順序查詢結束後的處理動作。查詢結束指從查詢起點按順序查詢到了文件結尾(Forward=True時)或者從查詢起點按順序查詢到的文件開頭處(Forward=False時)。要記住的是查詢是按順序的,如果查詢起點不是從文件開頭開始或者文件末尾開始,一次查詢結束後文檔中肯定有一部分沒有被查詢到,沒被查詢的部分怎麼辦呢?這就由Wrap屬性規定了,它有三個值,在VBA中每個值都有與之對應的常量:

    wdFindStop:值為0,即查詢結束就結束了,剩下的不管了,這是預設值。很有可能你的文件的當前插入游標放到了文件末尾,所以無法替換。

    wdFindContinue:值為1,即查詢結束後,繼續搜尋查詢剩餘沒有被查詢的部分,這相當於再一次進行查詢。

    wdFindAsk:值為2,即查詢結束後,它會彈出對話方塊,詢問是否要繼續搜尋剩餘沒有被查詢的部分,由使用者決定是否再一次查詢。

    在Python處理中,將Find的Wrap屬性設為1,及將Wrap屬性設為wdFindContinue,實現無遺漏查詢替換。

    參考:

    Find 物件

    WdFindWrap Enumeration (Microsoft.Office.Interop.Word)

  • 中秋節和大豐收的關聯?
  • 姐姐向妹妹撒嬌?