大家好,在上一講的Word VBA內容中,我講解在Word中有關(guān)書(shū)簽的操作,書(shū)簽相當于一個(gè)標識,在一個(gè)文章中內置了路標以便于我們的操作,在VBA中很多的操作是可以利用書(shū)簽來(lái)巧妙完的。
《VBA之Word應用》,是我最近推出第八套教程,教程是專(zhuān)門(mén)講解VBA在Word中的應用,圍繞面向對象編程講解,首先讓大家認識Word中VBA的對象,以及對象的屬性、方法,然后通過(guò)實(shí)例讓大家感受到Word VBA 的妙處。本套教程共三冊十六章,其中前十五章是各種對象屬性、方法的講解,每節都有專(zhuān)門(mén)的實(shí)例說(shuō)明這些屬性方法的具體應用,最后一章是結和具體應用場(chǎng)景的講解,共有二十八個(gè)實(shí)際工作中常見(jiàn)的實(shí)例。下面是第二章書(shū)簽集合Bookmarks對象及書(shū)簽Bookmark對象內容,今日講解的是第二節:書(shū)簽集合(Bookmarks)對象(一)
第二節 書(shū)簽集合(Bookmarks)對象(一)
大家好,我們繼續文檔(Document)的書(shū)簽講解,這講是上節的繼續,是書(shū)簽集合相關(guān)內容講解。
1 Bookmarks對象的屬性和方法
Bookmarks集合,代表指定的所選內容、范圍或文檔中的書(shū)簽。使用Bookmarks (index),其中index是書(shū)簽名稱(chēng)或索引號,返回單個(gè)書(shū)簽對象。注意書(shū)簽名稱(chēng)拼寫(xiě)必須是完全匹配(但不是一定是大小寫(xiě))的。
1) Bookmarks.Count 屬性 這個(gè)屬性返回書(shū)簽集合中項的數目。
2) Bookmarks.Add 方法 返回一個(gè)bookmark對象, 該對象代表添加到區域中的書(shū)簽。
語(yǔ)法:expression.Add (Name, Range)
其中expression代表一個(gè)Bookmarks集合.
參數:
Name 必需String 書(shū)簽的名稱(chēng)。 名稱(chēng)不能超過(guò) 40個(gè)字符或包含多個(gè)單詞。
Range 可選Variant 書(shū)簽標記的文本區域??蓪?shū)簽設置到一個(gè)指定的區域(插入點(diǎn))。
3) Bookmarks.Exists 方法 這個(gè)方法確定指定的書(shū)簽是否存在。如果書(shū)簽存在,則返回 True 。
語(yǔ)法:expression.Exists(Name)
其中expression代表一個(gè)Bookmarks對象的變量。
參數:Name 必需 String 書(shū)簽名稱(chēng), 不超過(guò)40個(gè)字符或多于一個(gè)單詞。
4) Bookmarks.Item 方法 這個(gè)方法返回集合中的單個(gè)Bookmark對象。
語(yǔ)法:expression.Item(Index)
其中expression代表一個(gè)Bookmarks對象的變量。
參數:Index 必需 Variant要返回的單個(gè)對象??梢允荓ong類(lèi)型的值,指示序號位置或代表單個(gè)對象的名稱(chēng)的字符串。
2 向文檔中光標所在位置添加書(shū)簽
如何利用代碼向文檔中指定的光標位置添加書(shū)簽呢?我們先看下面的代碼:
Sub mynzB() 在光標選擇位置添加書(shū)簽
Dim myString As String
myString = "myBookmarkA"
ActiveDocument.Bookmarks.Add Name:=myString, Range:=Selection.Range
End Sub
代碼截圖:
代碼講解:
1) Dim myString As String 定義一個(gè)字符串為書(shū)簽名
2) myString = "myBookmarkA" 給書(shū)簽名賦值
3)ActiveDocument.Bookmarks.Add Name:=myString, Range:=Selection.Range 在光標的位置添加書(shū)簽
代碼運行前:
運行代碼:
運行結果:
3 給文檔的某個(gè)段落添加書(shū)簽
如何給文檔的某個(gè)段落加上書(shū)簽呢?我們看下面的代碼:
Sub mynzC() 在文檔的第七段添加書(shū)簽
Dim myDoc As Document
Dim myString As String
myString = "myBookmarkB"
Set myDoc = Documents("Doc 002文檔")
myDoc.Bookmarks.Add Name:=myString, Range:=myDoc.Paragraphs(7).Range
myDoc.ActiveWindow.View.ShowBookmarks = True
End Sub
代碼截圖:
代碼講解:
1) Dim myDoc As Document 聲明一個(gè)文檔變量
2) Set myDoc = Documents("Doc 002文檔") 給文檔對象變量賦值,注意對象賦值的方法和《VBA之Excel之應用》中講解的一致,利用的是SET.
3)myDoc.Bookmarks.Add Name:=myString, Range:=myDoc.Paragraphs(7).Range
以上代碼給第七段添加書(shū)簽。
4)myDoc.ActiveWindow.View.ShowBookmarks = True 在文檔中顯示書(shū)簽
代碼的運行,在測試前,我們在文檔中先將書(shū)簽隱藏。
運行代碼后:
這個(gè)時(shí)候,我們會(huì )看到整段添加了書(shū)簽。
關(guān)于Bookmarks.Exists 方法的實(shí)例,我將在后續的講解中提到。
今日內容回向:
1 文檔的書(shū)簽集合對象的屬性和方法有哪些?
2 如何在文檔的光標位置添加書(shū)簽?
3 如何給整段添加書(shū)簽?
本講內容參考程序文件:Doc 002文檔.docm
分享成果,隨喜正能量
VBA是利用Office實(shí)現個(gè)人小型辦公自動(dòng)化的有效手段(工具)。這是我對VBA的應用界定。如何學(xué)習VBA呢? 概括的說(shuō)就是: 學(xué)習過(guò)程中要信、解、受、持,更要有回向的業(yè)力。無(wú)論您在學(xué)習的任何階段,都要對照教程的知識點(diǎn)加持自己的實(shí)際工作,總會(huì )有豐厚的收獲。我根據自己多年VBA實(shí)際利用經(jīng)驗,推出了八部VBA專(zhuān)門(mén)教程。第1套教程:VBA代碼解決方案 ;第2套教程:VBA數據庫解決方案;第3套教程:VBA數組與字典解決方案;第4套教程:VBA代碼解決方案之視頻(第一套的視頻講解);第5套教程:VBA中類(lèi)的解讀和利用;第6套教程:VBA信息獲取與處理;第7套教程:VBA之EXCEL應用;第8套教程:VBA之Word應用(最新)。上述教程的學(xué)習順序:
① 7→1→3→2→6→5或者7→4→3→2→6→5 ② 7→8
第一套:VBA代碼解決方案 是VBA中各個(gè)知識點(diǎn)的講解,教程共147講,覆蓋絕大多數的VBA知識點(diǎn),提供的程序文件更是一座不可多得的代碼寶庫,是初學(xué)及中級人員必備教程;目前這套教程提供的版本是修訂第二版,程序文件通過(guò)32位和64位兩種OFFICE系統測試。第二套:VBA數據庫解決方案 數據庫是數據處理的專(zhuān)業(yè)利器,教程中詳細介紹了利用ADO連接ACCDB和EXCEL的方法和實(shí)例操作,適合中級人員的學(xué)習。目前這套教程提供的是修訂第一版教程,程序文件通過(guò)32位和64位兩種OFFICE系統測試。第三套:VBA數組與字典解決方案 數組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學(xué)習,是初級及中級人員代碼精進(jìn)的手段。目前這套教程提供的版本是修訂第一版,程序文件通過(guò)32位和64位兩種OFFICE系統測試。第四套:VBA代碼解決方案之視頻 是專(zhuān)門(mén)面向初學(xué)者的視頻講解,可以快速入門(mén),更快的掌握這門(mén)技能。這套教程是第一套教程(修訂一版)的視頻講解,視頻更易接受。第五套:VBA中類(lèi)的解讀和利用這是一部高級教程,講解類(lèi)的虛無(wú)與肉身的度化,類(lèi)的利用雖然較少,但仔細的學(xué)習可以促進(jìn)自己VBA理論的提高。這套教程的領(lǐng)會(huì )主要是讀者的領(lǐng)悟了,領(lǐng)悟一種佛學(xué)的哲理。目前這套教程提供的版本是修訂第一版,程序文件通過(guò)32位和64位兩種OFFICE系統測試。第六套教程:VBA信息獲取與處理,這是一部高級教程,涉及范圍更廣,實(shí)用性更強,面向中高級人員。教程共二十個(gè)專(zhuān)題,包括:跨應用程序信息獲得、隨機信息的利用、電子郵件的發(fā)送、VBA互聯(lián)網(wǎng)數據抓取、VBA延時(shí)操作,剪切板應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數等等內容。程序文件通過(guò)32位和64位兩種OFFICE系統測試。第七套教程:VBA之EXCEL應用 這是一部初級教程這部教程共三冊,從從創(chuàng )建宏、對話(huà)框、工作簿和工作表對象、單元格對象等基礎內容講起,到循環(huán)結構、錯誤處理、字符串操作、日期和時(shí)間、事件、數組應用,函數過(guò)程等方面,一直講解到控件和窗體對象的應用都是我們提高自己EXCEL水平的必須。第八套教程:VBA之WORD應用 是圍繞面向對象編程展開(kāi)的講解,讓大家充分認識Word中VBA的對象,以及對象的屬性、方法及利用。教程共分三冊,十六章,其中前十五章是各種對象屬性、方法的講解,每節都有專(zhuān)門(mén)的實(shí)例說(shuō)明這些屬性方法的具體應用,最后一章是結和具體應用場(chǎng)景的講解,詳細講解了二十八個(gè)實(shí)際工作中有代表性的實(shí)例,緊扣word數據的批量處理,發(fā)揮VBA的長(cháng)處。本套教程實(shí)例眾多,大家可以拿來(lái)即用,或者修正后加以利用。由于這套教程是圍繞面向對象編程來(lái)展開(kāi),建議大家先學(xué)《VBA之Excel應用》,對VBA中的對象、屬性、方法、事件有一定認識后再來(lái)學(xué)習這套教程。