win32com操作word(2):常用用法


一、對象的位置關系:

1.Range屬性位於(部分):

Selection__Section__Cell__Paragraph__Table__Bookmark__Comment__Row__List

Range方法位於:

Document.Range(start,end) :返回指定區間(start,end)的Range對象

CanvasShapes(Shapes/GroupShapes/).Range(index):返回一個指定index的ShapeRange對象

2.Selection屬性位於(全部):

Application__Global__Pane__Window

3.Paragraphs屬性位於(全部):

Document__Range__Selection

4.Tables屬性位於(全部):

Cell__Table__Range__Selection__Document

5.Text屬性位於(全部):

Range__Selection__Find__Replacement__TextEffectFormat

 

總結:

1.Range.InsertBefore(After)后,Range的范圍會擴展自動至插入的字符前或后;

2.Range.Text='xx'會導致Range范圍內的內容被替換成‘xx';

3.Range與Selection之間相互轉化:

Range=Selection.Words[Characters](n)

Selection=Range.Select()

4.字體的改變:

Font屬性是Selection,Range,Find,Replacement,Style,ConditionalStyle對象的屬性,主要改變字體的大小(Size),顏色(Color),字體類型(Name),粗體(Bold),斜體(Italic)等

5.段落格式改變:

ParagraphFormat屬性也是Selection,Range,Find,Replacement,Style,ConditionalStyle對象的屬性,改變段落格式

二、Range與Selection區域選擇相關操作

幾個重要的區域選擇函數:

MoveEnd(wdUnits,n):移動結尾光標位置,從而增加或減小選擇區域。n為正表示向后移動,n為負表示向前移動。

MoveStart(wdUnits,n):移動起始光標位置,從而增加或減小選擇區域。n為正表示向后移動,n為負表示向前移動。

EndOf(wdUnits,wdExtend[wdMove]):將光標擴展(或移動)到按wdUnits設定的末尾位置。如果是wdMove,就是移動,此時沒有選擇區域;如果是wdExtend,就是擴大選擇區域。

EndKey(wdUnits,wdExtend[wdMove]):與EndOf()功能相同

StartOf(wdUnits,wdExtend[wdMove]):原理同上,只是光標移動到起始位置。

HomeKey(wdUnits,wdExtend[wdMove]):功能與StartOf()相同

Extend(character):打開擴展模式,擴展至指定的字符character處(包括character字符)

Expand(wdUnits):按wdUnits方式擴展選定的區域。

Collapse(wdCollapseStart[wdCollapseEnd]):將選定區域釋放,同時光標移至原選定區域的起始位置或結束位置。

注意:如果用 wdCollapseEnd 折疊一個代表完整段落的區域,則該區域將定位於段落結束標記之后(即下段開頭)。但是,在該區域折疊后,可以用 MoveEnd 方法將區域回移一個字符

三、書簽相關操作:

標簽的主要目的是用來在文檔中定位,在有文字很多的文檔中快速找到所需文檔位置十分有效。

1.獲取書簽集合:

Document[Selection/Range].Bookmarks

2.添加書簽:

Bookmarks.Add('name',Range):注意書簽名僅能為一個單詞,否則命名錯誤

3.判斷書簽name是否存在,若存在則選中:

if Bookmarks.Exists('name')==True:

    Bookmarks.Item('name').Select()

4.替換標簽name內的內容:

Bookmarks.Item('name').Range.Text='new content'

 四、圖片插入:

word中圖片對象是通過Shape對象來管理的,該對象可以操作圖片,設置圖片的長寬、位置、格式等屬性的設置。

而圖片的插入可以通過InlineShapes.AddPicture('xx.jpg')或Shapes.AddPicture('xx.jpg')方法插入。二者都返回Shape對象,可以調用該對象的方法操作圖片。

通過InlineShapes添加的圖片相當於字符插入,而通過Shapes插入的圖片可以隨意移動,浮動在文字上方,二者可以通過ConvertToInlineShape和ConvertToShape相互轉化。

五、查找與替換:

查找與替換是通過Find對象和Replacement對象實現的。Find屬性位於Range和Selection對象,Replacement屬性位於Find對象。

Find對象的屬性主要要來設置查找對象,Execute()函數用來執行查找任務。

Execute(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics, MatchAlefHamza, MatchControl)

FindText :指定需搜索的文本。可用空字符串 ("") 搜索格式,也可通過指定相應的字符代碼搜索特殊字符。例如,“^p”對應段落標記,“^t”對應制表符。

MatchCase區分大小寫

MatchWholeWord:全字匹配

MatchWildcards:使用通配符。

MatchSoundsLike:同音匹配

MatchAllWordForms:查找操作定位於要查找的文字的所有形式(例如,查找“sit”的同時,還查找“sitting”和“sat

Forward向下(向文檔尾部)搜索。

Wrap:如果搜索從不是文檔的起始位置開始,並已搜索到文檔的末尾(如 Forward 設置為 False,則相反),用本參數控制接下來的操作。當存在選定內容或區域,而又沒有在該選定內容或區域中找到搜索文字時,也可用本參數控制接下來的操作。可取下列 WdFindWrap 常量之一。

Format:查找操作定位於格式或帶格式的文本,而不是查找文本。

ReplaceWith  Variant 類型,可選。替換文字。若要刪除由 Find 參數指定的文字,可使用空字符串 ("")。與 Find 參數相似,本參數也可以指定特殊的字符和高級搜索條件。若要將圖形對象或者其他非文本項指定為替換內容,可將這些項置於“剪貼板”上,然后將 ReplaceWith 指定為“^c”。

Replace :指定執行替換的個數:一個、全部或者不替換。可取下列 WdReplace 常量之一。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM