Avatar billede hjelmgart Nybegynder
02. april 2002 - 14:46 Der er 3 kommentarer

Skift af font m.m. i Word

Hvordan styrer jeg skrifttypen i Word fra Delphi?

Jeg vil gerne kunne skifte til f.eks. fed skrift eller
understrege et enkelt ord i en linie.

Mvh
Søren
Avatar billede borrisholt Novice
03. april 2002 - 09:28 #1
Hvis du fortæller mig hvordan man vælger et stykke af en Worddokument så skal jeg lave resten.

Jens B
Avatar billede hjelmgart Nybegynder
03. april 2002 - 10:07 #2
Hej Jens

Først finder jeg ud af hvor mange paragraffer (linieskift) der er i dokumentet:
NumberOfParagrafs:= WordApp.Documents.Item(1).Paragraphs.Count;

Derefter gennemløber jeg de enkelte paragraffer (eller linier om du vil) til jeg står ud for den ønskede tekst:
WordParagraf:= 1;
While WordParagraf <= NumberOfParagrafs Do
  Begin
    Range:= WordApp.Documents.Item(1).Range(
      WordApp.Documents.Item(1).Paragraphs.Item(WordParagraf).Range.Start,
      WordApp.Documents.Item(1).Paragraphs.Item(WordParagraf).Range.End);
    Txt:= Range.Text;

Den enkelte tekst linie står nu i Range.Text
og ved at flytte indholdet over i min interne
variable Txt kan jeg redigere i teksten, men
jeg kan ikke styre fonten til de enkelte ord.
Avatar billede stoney Nybegynder
03. april 2002 - 10:43 #3
http://www.djpate.freeserve.co.uk/Automation.htm

Here is an example showing how to change the font for
different paragraphs and sentences in a document. (Word is
a TWordApplication component, Doc is a TWordDocument.)

var
  WFont: _Font;
  R: Range;
begin
  Doc.ConnectTo(Word.ActiveDocument as _Document);
  R := Doc.Paragraphs.First.Range;
  R.InsertAfter('Blue is beautiful, blue is best. ');
  R.InsertParagraphAfter;
  R.InsertAfter('I am blue, I am beautiful, I am best!');
  R.InsertParagraphAfter;
  R.InsertAfter('The blue cat. ');
  R.InsertParagraphAfter;

  WFont := Doc.Paragraphs.First.Range.Font;
  WFont.Name := 'Arial';
  WFont.Color := clRed;
  WFont.Size := 14;

  WFont := Doc.Paragraphs.Item(2).Range.Font;
  WFont.Name := 'Times';
  WFont.Color := clBlue;
  WFont.Size := 16;

  WFont := Doc.Sentences.Item(3).Font;
  WFont.Name := 'Georgia';
  WFont.Italic := integer(msoTrue);

Stoney
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester