遇到乙個小需求,需要提取word文件標題前面的序號,例如:
/**************舉例文件*******************/
1. 一級標題1 /*一級標題的編號+標題內容,編號可能是系統內建編號樣式,也可能是使用者
*自定義的樣式*/
段落2 /*文件內容段落2,標題1占用乙個段落,此處為2*/
段落3 /*文件內容段落3*/
1.1 二級標題1.1 /*多級符號+二級標題,編號樣式為內建或使用者自定義樣式*/
段落5段落6
1.2 二級標題1.2
段落82. 一級標題2
段落10
2.1 二級標題2.1
2.1.1 **標題2.1.1
段落13
/**************舉例文件結束**************/
需要提取到:
1.11.2
2.12.1.1
這些序號,搜尋+研究了一下,找到了一方法,順手記錄一下,免得再次摔跤。
sub test()dim myrange as range
dim num as string, title as string
'set ps = selection.bookmarks("\headinglevel").range.paragraphs
set ps = activedocument.bookmarks("\headinglevel").range.paragraphs
for each p in ps
set myrange = p.range
num = myrange.listformat.liststring
title = myrange.text
msgbox "編號:" & num & vbcrlf & "標題內容:" & title
next p
'set myrange = selection.bookmarks("\headinglevel").range.paragraphs(1).range
'msgbox "編號:" & myrange.listformat.liststring & vbcrlf & "標題內容:" & myrange.text
end sub
sub replaceheadingcontent()dim myrange as word.range
dim num as string, content as string
'取得所有書籤
set ps = activedocument.bookmarks("\headinglevel").range.paragraphs
'對書籤中每乙個段落進行處理
for each p in ps
set myrange = p.range
with myrange
'把range結束範圍往前移乙個字元,目的是為了不包括換行符
.moveend unit:=wdword, count:=-1
'取出段落序號
num = trim(.listformat.liststring)
'取出heading的內容
content = trim(.text)
'如果段落序號不為空,則把段落序號取出附加的標題內容後面
if trim(num) <> "" then
if num = "1.1.1.1.1." or num = "1.1.1.1.1" then
msgbox "到目標點了。"
end if
if right(num, 1) = "." then num = left(num, len(num) - 1) '不需段落序號最後面的「.」
.text = content & "<" & num & ">"
end if
'msgbox "編號:" & num & vbcrlf & "標題內容:" & content
end with
next p
end sub
Word中利用VBA匯入樣式
由於經常編輯文字資料,需要匯入自己定義的樣式,比較麻煩。我利用巨集錄製了一些vba程式。下面是乙個示例。sub 匯入樣式表集 匯入樣式表集 巨集 destination e 待編輯文件.doc name 詩詞標題樣式 object wdorganizerobjectstyles destinatio...
如何修復損壞Word文件恢復受損文件中的文字
word 文件是許多電腦使用者寫作時使用的檔案格式,當你辛辛苦苦寫完一篇word文件後,發現它因損壞而無法開啟時,一定非常著急。其實,你不必心焦,因為我們還是有一些方法可以修復損壞文件,恢復受損文件中的文字。下面是具體的步驟 1 採用專用修復功能 在 檔案 選單上,單擊 開啟 在 查詢範圍 列表中,...
如何縮減word文件大小
自從公司使用了oa辦公系統後,office文件與日俱增,最近查了下伺服器,每日檔案增加的空間大小將近2g,從中抽取了幾個word文件看了下,裡面內容都不是很多,卻都200多k,甚至有2m的,於是整理了此文給業務部門,希望能使word檔案 1 壓縮 在將插入到 word 文件前,應先將進行壓縮,1 最...