為了讓使用者方便匯入資料到系統,要用程式讀入並擷取Word 當中的內容。
因為Word 是用套表產生的,自動編號分群錯誤,導致使用套件讀入Word 時,編號會錯誤。
而這個技術困難的問題在考慮希望變動最小的狀況下,找到將Word 自動編號轉變成純文字。
如此一來只需要一個小動作,就可以排除問題了。
下圖為全選之後,自動編號的號碼不會被選中示意圖
而因為套版的關係,所以文件產生了錯誤的自動編號分組。
在選取其中一個編號時,Word 會把與他同一組清單的項目一起標出來。
下圖為錯誤清單群組的示意圖
在經過套件讀入整份Word,在重新Render 這些清單的時候因為視為同一個清單,
第二份文件原本的 一、 就會變成 三、,變成錯誤的編號
-------------------------------
好了,前面說明了這麼多,最重要的就是解決辦法
解決辦法:
在Word 輸入 VBA,選擇編輯器
請一次只開啟一個Word,並依照流程執行以下程式碼
Sub ConvertAllAutoNumberToText()
If ActiveDocument.Lists.Count > 0 Then
Dim autoNumberList As List
For Each autoNumberList In ActiveDocument.Lists
autoNumberList.ConvertNumbersToText
Next
Else
End If
End Sub
最後,自動編號就會變成純文字了。
存檔的時候會問說是否要儲存為一般的Word ,按"是"就可以了
References:
http://tookoolbiz.blogspot.com/2011/04/word.html
https://docs.microsoft.com/zh-tw/office/vba/word/concepts/working-with-word/working-with-document-objects
https://www.datanumen.com/blogs/2-ways-to-convert-automatic-numbering-to-normal-texts-in-your-word-document/