Bra Utbildning AB

 

<-- Back
VBA & Objektmodeller
Arbeta med text
Bokmärken
Range
Fält
Formulärfält
Autotext
Doc var & Doc Prop
Words kommandon
Words dialogrutor
Automation
Externa Databaser

Arbeta med range-objekt


En range är en yta som kan adresseras. Använd om möjligt ranges och definiera med kod det du vill påverka. Gamla makron krävde att något först markerades/ valdes (Selection-objektet). Först därefter kunde objektet påverkas. Så är det inte med range - specificera vad som ska förändras och hur det ska förändras (utan att först välja/hoppa till "rätt ställe"). 

En range kan vara t.ex. hela stycke 1 eller ord 15 till slutet av dokumentet etc. Du definierar först ytan/range och sedan vad som ska hända med den.

Set oRng = ActiveDocument.Paragraphs(1).Range
Set oRng = ActiveDocument.Bookmarks("EttBokmärkesNamnHär").Range

Exempel på åtgärd som kan utföras med en range
oRng.Delete                      'radera
oRng.End = oRng.End - 1   'minska intervallet med 1 position

Här sätts range till den yta som sträcker sig mellan stycke nr 9 i texten och dokumentets slut dvs till det av Word fördefinierade bokmärket \EndOfDoc.
Dim
oDoc As Document
Dim minRange As Range
Set oDoc = ActiveDocument
Set minRange = _
   oDoc.Range(oDoc.Paragraphs(9).Range.Start, _
   oDoc.Bookmarks("\EndOfDoc").Range.End)
minRange.Delete