【分享成果,随喜正能量】終有一天,你會跨過靜谧無聲的洗墨江,離開群山環抱的舊桃源,來到無邊陰霾的夜空之下。你會目睹無數不可攀爬之山相繼傾覆,不可逾越幹涸成田,你要記得,你的命運懸在刀尖上,而刀尖須得永遠向前。每個人都會有一段異常艱難的時光,生活的壓力,工作的失意,學業的壓力,愛的惶惶不可終日,挺過來的,人生就會豁然開朗,挺不過來的,時間也會教你,怎麼與它們握手言和,所以不必害怕的。
《VBA之Word應用》,是我推出第八套教程,教程是專門講解VBA在Word中的應用,圍繞“面向對象編程”講解,首先讓大家認識Word中VBA的對象,以及對象的屬性、方法,然後通過實例讓大家感受到Word VBA 的妙處。本套教程共三冊十六章,今日内容是第五章 “Word中的Range對象(上)”第1節:什麼是Word Range對象。
第一節 在Word中,什麼是Range對象
我們知道Range的含義是一個範圍,在Excel中這個範圍是單元格區域,可以是一個單元格,也可以是多個單元格。在Word中Range同樣表示一個範圍,這個範圍可以是文檔的任何部分,大如包括整個文檔,也可以小如一個字符。概況地講:在Word中,Range對象表示文檔中的一個連續區域。每個 Range 對象由一個起始字符位置和一個終止字符位置定義。
1 Range對象與Bookmark對象在第二章中,我給大家首先講解了word中的書簽,以便讓大家能盡快地理解VBA在Word中的應用。Range對象與Bookmark書簽對象在文檔中的使用方法類似,Range 對象同樣可以用來标識文檔的特定部分。但與書簽不同的是,Range對象隻在定義該對象的過程運行時才存在。 Range對象不受選定内容影響。這就是說,你可以定義Range對象并對其進行操作,無需更改選定内容。此外,你還可以在文檔中定義多個Range對象,但每個Range對象隻能具有一個選定内容。
使用Range方法返回一個Range對象, 該對象由給定的起始和結束字符位置定義。例如:以下示例将返回引用活動文檔中的前 10 個字符的 Range 對象:
Set myRange = ActiveDocument.Range(Start:=0, End:=10)
2 Range對象應用的靈活性1) 使用Range屬性可返回一個Range對象, 該對象由另一個對象的開頭和結尾定義。 Range 屬性适用于多種對象(例如 Paragraph、Bookmark )。
2) 以下示例返回引用活動文檔中第一段的 Range 對象。
Set myRange = ActiveDocument.Paragraphs(1).Range
3) 下面的示例返回一個Range對象, 該對象引用活動文檔中的第二到第四個段落。
Set myRange = ActiveDocument.Range( Start:=ActiveDocument.Paragraphs(2).Range.Start, _
End:=ActiveDocument.Paragraphs(4).Range.End)
4) 使用Document對象的range方法可以創建一個Range對象,該對象位于主體文檔中并具有給定的起始和終結點。 下面的示例創建一個Range對象,該對象從第一個字符的開始位置開始并延伸到第十個字符:
Set rngDoc = ActiveDocument.Range(Start:=0, End:=10)
5) 得到 Range 對象後,可使用它的任何屬性或方法來修改該Range對象。下列示例選定活動文檔中的第二個段落并将所選内容居中。
ActiveDocument.Paragraphs(2).Range.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
3 利用Range對象設置某段文檔的格式由于Range對象具有非常大的靈活性,我們可以利用它來完成某段文檔的格式設置,下面我們來看代碼:
Sub mynz()
【代碼見教程】
End Sub
代碼截圖:
代碼的解讀:
1) 以上代碼利用了嵌套with語句,來設置活動文檔的第一段,居中,加粗,字體為“隸書”,字号為15。
2) myRng = ActiveDocument.Paragraphs(1).Range 是将第一段的文檔賦給變量myRng。大家要注意這種用法,是非常方便和實用的。
代碼的運行效果,代碼運行前:
代碼運行後:
今日内容回向:
1 什麼是Word中的Range對象?
2 Word中的Range對象有什麼特點?
本講内容參考程序文件:Doc 005文檔.docm
我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中:
,