1 / 15

CU01 Informatika II 11 /13 Základy algoritmizace Objektov ý model a MS Word II

CU01 Informatika II 11 /13 Základy algoritmizace Objektov ý model a MS Word II. Metoda Range : nástroj pro výběr. Umožňuje výběr částí dokumentu znaků , slov a odstavců Objekt Document Vytváří objekt Range na základě počátečního a koncového bodu Dim ad As Document

Download Presentation

CU01 Informatika II 11 /13 Základy algoritmizace Objektov ý model a MS Word II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CU01 Informatika II11/13Základyalgoritmizace Objektový model a MS Word II

  2. Metoda Range: nástroj pro výběr • Umožňuje výběr částí dokumentu • znaků, slov a odstavců • Objekt Document • Vytváří objekt Range na základě počátečního a koncového bodu Dimad As Document Set ad=ActiveDocument DimrZnakyAsRange SetrZnaky= ad.Range(Start:=0, End:=3) DimrSlovaAsRange SetrSlova = ad.Range(Start:=ad.Words(1).Start, End:= ad.Words(3).End) DimrOdstavceAsRange Set rOdstavce= ad.Range(Start:= ad.Paragraphs(1).Range.Start, End:= ad.Paragraphs(1).Range.End) PB: 1. znak dokumentu KB: 3. znak dokumentu PB: první znak 1. slova KB: poslední znak 3. slova PB: počátek1. odstavce KB: konec 1. odstavce

  3. PŘÍKLAD: Použití Metody range DimrngDocAsRange SubNewRange() Set doc = ActiveDocument SetrngDoc = doc.Range(Start:=0, End:=10) ... SetrngDoc = doc.Range(Start:=doc.Paragraphs(2).Range.Start, _ End:=doc.Paragraphs(3).Range.End) EndSub SubBoldRange() SetrngDoc = ActiveDocument.Range(Start:=0, End:=10) rngDoc.Bold= True EndSub SubInsertTextBeforeRange() SetrngDoc = ActiveDocument.Range(Start:=0, End:=0) rngDoc.InsertBefore "Hello " EndSub Realizace výběru Realizace výběru a změna vlastnosti písma Realizace výběru a vložení textu

  4. vlastnost Range • Objekty Section, Paragraph, Bookmark, Cell • Vracíobjekt, který reprezentuje odpovídající část dokumentu DimrngParagraphAsRange SubSetParagraphRange() SetrngParagraph = ActiveDocument.Paragraphs(1).Range EndSub SubFormatFirstBookmark() SetrngBookmark= ActiveDocument.Bookmarks(1).Range WithrngBookmark .Bold = True .ParagraphFormat.Alignment = wdAlignParagraphCenter With.Font .Name = "Stencil" .Size = 15 EndWith EndWith EndSub První odstavec aktivního dokumentu První záložka aktivního dokumentu

  5. Příklad: VÝBĚR A FORMÁTOVÁNÍ ČÁSTI DOKUMENTU • Procedura naformátuje první 3 odstavce dokumentu. • Nastaví typ písma a zarovnání odstavce. • Názvy parametrů umožňují zadávat parametry v odlišném pořadí vzhledem k definici. • Pojmenované konstanty zlepšují čitelnost programu – u Wordu prefix wd SubtriOdstavce() Dim rozsah AsRange Dimad As Document Set ad=ActiveDocument Set rozsah = ad.Range(Start:= ad.Paragraphs(1).Range.Start, _ End:=ad.Paragraphs(3).Range.End) Withrozsah .Font.Name = "Times New Roman" .ParagraphFormat.Alignment = wdAlignParagraphLeft EndWith End Sub

  6. Příklad: vložení a formát textu Pojmenované parametry SubvlozNadpis() Dim rozsah As Range Set rozsah = ActiveDocument.Range(Start:=0, End:=0) With rozsah .InsertAfterText:= "Můj nadpis" .InsertParagraphAfter With .Font .Name = "Tahoma" .Size = 24 .Bold = True EndWith EndWith WithActiveDocument.Paragraphs(1) .Alignment = wdAlignParagraphCenter .SpaceAfter = 12 EndWith ’okraje WithActiveDocument.PageSetup .LeftMargin = .LeftMargin + InchesToPoints(0.5) .RightMargin = .RightMargin + InchesToPoints(0.5) EndWith EndSub Vestavěná funkce

  7. Příklad: ZMĚNA VELIKOSTI MEZERY MEZI ODSTAVCI Cyklus pro procházení všemi položkami kolekce foreach<položka>in<kolekce> Procedura změní mezeru před těmi odstavci, kde je mezera 12 pt. Subodsazeni_Odstavce() Dim odstavec As Paragraph ForEachodstavec InActiveDocument.Paragraphs Ifodstavec.SpaceBefore= 12 Then odstavec.SpaceBefore= 6 EndIf Ifodstavec.SpaceAfter= 12 Then odstavec.SpaceBefore= 6 EndIf Nextodstavec EndSub

  8. VYHLEDÁVÁNÍ: Objekt FIND • Reprezentuje nástroj pro operaci vyhledávání • Vlastnosti a metody objektu korespondují s obsahem vyhledávacího formuláře

  9. Základní Metody a Vlastnosti Objektu FIND • Dostupný z Range a Selection • Metody • Execute – vrací logickou hodnotu True při nalezení textu, úspěšnost hledání se současně projevuje natavením vlastnosti Found PARAMETRY • FindText – hledaný řetězecnebo formátování FindText= “” FindText= “^p”odstavec FindText= “^t” tabulátor • MatchCase – rozlišovat malá/velká písmena (true/false) • MatchWholeWord– pouze při shodě celého slova (true/false) • Forward – směr vyhledávání () • Format – vyhledávat formátování • HitHighlight – provede vyhledání se zvýrazněním nalezených výskytů • ClearFormating – při vyhledávání potlačí formátování • Vlastnosti • Parent – objekt = vlastník nalezeného kontextu • Font – objekt reprezentující formát písma • Style – objekt reprezentující styl

  10. Objekt Find: volání metody Execute • Metodu lze volat s předem nastavenými vlastnostmi objektu WithSelection.Find .ClearFormatting .Forward = True .Wrap = wdFindContinue .Text = strToFind .Execute EndWith • Nebo s argumenty metody v příkazu volání WithSelection.Find .ClearFormatting .Execute FindText:=strToFind, Forward:=True,Wrap:= wdFindContinue EndWith

  11. PŘÍKLAD: Vyhledávání Nalezený text formátuje tučně ... Setrozsah = ActiveDocument.Content rozsah.Find.ExecuteFindText:="tučně", Forward:=True If rozsah.Find.Found = TrueThen rozsah.Bold = True EndIf ... Hledá formátování wdStyleHeading3text formátuje tučně WithActiveDocument.Content.Find .ClearFormatting .Style = wdStyleHeading3 DoWhile.Execute(FindText:="", Forward:=True, Format:=True) With.Parent .StartOf Unit:= wdParagraph, Extend:= wdMove .InsertAfter "Tip: " .Move Unit:= wdParagraph, Count:= 1 EndWith Loop EndWith

  12. Příklad: Vyhledání a formátování Vyhledáa naformátuje tučně všechna slova se zadaným slovním základem kybernet (např. kybernetickou, kybernetický ap.) Subformatuj() strText = "kybernet" WithSelection.Find .ClearFormatting .Format = False .ExecuteFindText:= strText, Forward:= True DoWhile (.Found) AndMsgBox(prompt:="pokračovat?", buttons:=vbYesNo) = vbYes .Parent.Expand Unit:= wdWord .Parent.Font.Bold = True .Parent.CollapsewdCollapseEnd .ExecuteFindText:= strText, Forward:=True Loop EndWith EndSub

  13. Nahrazení Řetězce: Objekt Find • Objekt Find lze použít i pro nahrazování řetězců • Nahradí výskyty hledaného řetězce (strFind) zadaným textem (strReplace) Sub Nahradit(strFindAsString, strReplaceAsString) Application.ScreenUpdating = False ActiveDocument.Content.Select WithSelection.Find .ClearFormatting .Forward = True .Wrap = wdFindContinue .ExecuteFindText:=strFind,Replace:=wdReplaceAll, _ ReplaceWith:=strReplace EndWith EndSub

  14. SubExpandRange() DimrngParagraphAs Range SetrngParagraph = Selection.Range rngParagraph.SetRangeStart:=rngParagraph.Start, _ End:=rngParagraph.End + 10 EndSub SubFormatRange() ActiveDocument.Paragraphs(2).Range.SelectSelection.ParagraphFormat.Alignment = wdAlignParagraphCenter EndSub SubSelectRange() DimrngParagraphAsRange SetrngParagraph = ActiveDocument.Paragraphs(2).RangerngParagraph.SetRange Start:=rngParagraph.Start, _ End:=ActiveDocument.Paragraphs(3).Range.End rngParagraph.Select Selection.Font.Italic= True End Sub

  15. Děkuji za pozornost.

More Related