Word--如何批量把答案ABCD放到對應題目的后面(括號里或橫線上)
一般試題和答案是分開的,試題在前面,答案在后面,或者試題和答案分開在不同的文檔,這是為方便出試卷測驗。但是為了老師講解的方便,又需要把試題和答案合起來。
現在有一份試題和對應的答案,分別存放在不同的word文檔里。試題全為單選題,每題按順序編號,答案也是按順序編號的,且與試題編號對應。如下圖所示。如果你的試題和答案的編號不規范,可能需要先使它變得規范。
現在需要把每一個答案放到對應試題的D選項后面。
可以利用表格的排序功能來實現這個需求
第一步把試題和答案文本轉換為表格。
把答案文本轉換為表格是簡單的,只要全選答案文本,然后點擊“文本轉換為表格”命令,在彈出的對話框中使用默認設置,點“確定”即可將答案文本轉換為表格。轉換后的效果如下圖所示。
然后把試題文本轉換為表格。因為每個試題由題干和選項共5個段落組成,一個試題需要占一個單元格,而不是多個單元格,所以這個轉換會有點麻煩。
調出查找和替換對話框,在查找內容中輸入^13([A-D].),在替換為中輸入*\1,勾選“使用通配符”,如下圖所示。這個替換的意思是,把一個試題里,除最后一個段落標志外的其他四個段落標志替換為*號。之所以選擇替換為*號,是因為試題中沒有*號。也可以選擇替換成其他字符,但要確保試題中不含有這個字符。因為后面還要把*號替換回段落標志,如果試題中也有*號,就會出現不想要的結果。
點擊“全部替換”,則試題中的5個段落變成一個段落。選中所有試題,點擊“文本轉換為表格”命令,在彈出的對話框中,“文字分隔位置”設置為段落標志,點“確定”即可將試題文本轉換為表格。轉換成表格后,再把*號換回段落標志,也是使用查找替換功能實現。效果如下圖所示。
第二步兩個表格合并
把答案表格復制粘貼到試題表格后面,并合并表格,合并后如下圖所示(為方便看到效果,試題數量已減少)。記住是答案放在題目后面。
第三步表格排序
選中整個表格,在布局選項卡中選擇“排序”,彈出排序對話框。主要關鍵字選擇“列1”,也只能選擇“列1”,因為表格只有1列。排序的方式選擇“升序”。排序的類型選擇“數字”,因為試題和答案都用數字編號的,數字編號的排序結果最簡單易懂了。其他使用默認設置。各項設置如下圖所示。
最后點擊確定。排序效果如下圖所示。題目在前,相應的答案在后,按照數字順序排列出來,達到了要求。此時,如果不想要表格形式的排版,一是可以把表格框線隱藏起來,二是把表格轉換為文本。如果想去掉答案前的數字序號,可以使用查找替換功能,快速去掉。
排序成功的關鍵點是在數字序號。可以看出來Word中表格的排序是使用每個單元格中第一個字符進行的,所以務必確保試題和答案的數字序號正確。
答案放到題目中的括號內
如果想把答案放到題目中的括號內,需要先把上述方法所得到的表格形式的試題轉換為文本。然后使用查找替換功能快速充填。查找:(*)( {1,})(*^13*正確答案:)([A-D]);替換:\1(\3)\2,勾選使用通配符,將光標置于文檔最開始處,點擊“全部替換”。效果如下圖所示。
以上表達式只適用于該示例文檔情況,想要達到理想的效果,查找替換表達式需要根據實際細節進行調整。還剩下“1.正確答案:”這樣的多余段落,只需要一個簡單的表達式就可以批量刪除,聰明的你應該可以得到的。
2020-4-9更新
有一位知乎網友發來一個文檔,如下視頻所示。共有800多道單項選擇題。https://www.zhihu.com/video/1231626967772360704
使用原文章所述的方法,在第三步對轉換為表格的試題及答案進行排序時,沒有不成功。親自試了一下,內容多了,原文中的排序方法確實不成功。于是轉變一下思路,把方法及操作過程記錄如下。
第一步,在文首加一個空段。這是為了輔助下一步的查找替換操作
第二步,在每一個答案和題目的序號前重復一下序號,并加一個制表符。
查找^13([0-9]{1,3}.) 替換^p\1^t\1
第三步,合并選項與題目為一個段落。 查找^13([A-D]、) 替換\1
第四步,全選內容,以制表符為分隔符,把內容轉換為兩列多行的表格
第五步,調出排序功能,主要關鍵字為“列1”,類型為“數字”,使用“段落數”,選“升序”,其他不設置,確定。
第六步,刪除輔助列,即首列,并把表格剪切粘貼為純文本。如果原內容中存在圖片、上下標等需要保留的格式,可以使用一個簡單的VBA代碼就地把表格轉為文本。
Sub 表格轉文本()
Dim tal As Table
For Each tal In ActiveDocument.Tables
tal.ConvertToText Separator:=wdSeparateByTabs
Next
End Sub
第七步,將答案移動到題目的括號中,并刪除多余字符。
查找\(\)(*^13)[0-9]{1,3}.正確答案([A-D])^13 替換(\2)\1
第八步,把選項還原為段落。查找([A-D]、) 替換^p\1
完成。
注:以上的查找替換表達式都需要根據具體內容進行微調。批量將答案移動到對應題目中https://www.zhihu.com/video/1231628335450185728
關于分布答案的逆過程——Word試題試卷快速提取整理答案的技巧,可以參考以下文章https://zhuanlan.zhihu.com/p/72371799?zhuanlan.zhihu.com
20201103更新。
如果序號是自動編號,查找替換功能將無法找到這些題目序號。可以用一句代碼把自動編號轉換為普通文本。代碼如下:
sub test()
ActiveDocument.Content.ListFormat.ConvertNumbersToText
end sub
有什么關于辦公圖文方面的問題,可以發私信或評論,也許可以幫到你哦。
想學習更多關于word的實用知識,可以看看以下知乎電子書。《word排版技術大全》全面講解word排版的理論與技術,提供大量排版應用案例。對已經有了一定基礎的word用戶來說,是一次大的技能升級。
開通知乎鹽選會員,以上電子書都可以免費閱讀,還有更多豐富的免費內容你可能感興趣哦。