AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textbox in Word erstellen

Ein Thema von Timelesk · begonnen am 12. Nov 2007 · letzter Beitrag vom 12. Nov 2007
Antwort Antwort
Timelesk

Registriert seit: 24. Jul 2004
72 Beiträge
 
#1

Textbox in Word erstellen

  Alt 12. Nov 2007, 13:03
Hallo,

ich möchte in Word eine Textbox erstellen und sie mit Inhalt füllen.
Leider kann man dies nicht über ein Makro machen. Office XP lässt mich beim Makro-Aufzeichnen keine Textbox erstellen.
Danach hab ich einfach mal mit Shapes probiert, aber es kommt folgende Fehlermeldung:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Word.exe ist eine Exception der Klasse EOleError mit der Meldung 'Die Methode 'Shapes' wird vom Automatisierungsobjekt nicht unterstützt' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------


Ich greife folgendermaßen auf Word zu:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  WordApp, NewDoc, WordTable: OLEVariant;
  iRows, iCols, iGridRows, jGridCols: Integer;
begin
  try
    // Create a Word Instance
    // Word Instanz erzeugen
    WordApp := CreateOleObject('Word.Application');
  except
    // Error...
    // Fehler....
    ShowMessage('Word kann nicht geöffnet werden.');
    Exit;
  end;
 
  // Show Word
  // Word anzeigen
  WordApp.Visible := True;

  // Add a new Doc
  // Neues Dok einfügen
  NewDoc := WordApp.Documents.Add;
  
  WordApp.Selection.MoveDown(wdLine, 1);

  WordApp.Selection.TypeParagraph;

  WordApp.Selection.ParagraphFormat.Alignment:= wdAlignParagraphLeft;

  WordApp.Selection.Shapes.AddTextbox(1,20,10,50,10);
  //shp := Shapes.AddTextbox(1,20,10,50,10);
  //shp.TextFrame.Characters(1, 200).Text := 'Hello';
  //WordApp.Shapes.AddTextBox(1,30,50,200, 100,EmptyParam);

  // Ansicht
  //WordApp.ActiveWindow.ActivePane.View.Type := 3;
  // 0 = wdPortrait, 1 = wdLandScape
  //WordApp.Selection.PageSetup.Orientation := 1;


  WordApp.ActiveDocument.SaveAs(ExtractFilePath(Application.ExeName) + 'test.doc');

  //Close Word
  //WordApp.DisplayAlerts := 0;
  //WordApp.Documents.Item(1).Save;
  //WordApp.Quit;

  // Cleanup...
  WordApp := Unassigned;
  NewDoc := Unassigned;
  WordTable := Unassigned;
end;

Ich weiß echt nicht weiter!
Kann man auch noch anders mit Word kommunizieren?
Weil die ausgeklammerte Lösung mit shp := ... hab ich mir irgendwo abgeschaut, aber Shapes kennt er ja anscheinend doch nicht...

vielen Dank

gruß
Timelesk
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Textbox in Word erstellen

  Alt 12. Nov 2007, 13:36
Hallo,

ich würde es mal so probieren:

Delphi-Quellcode:
NewDoc := WordApp.Documents.Add;
shp := NewDoc.Shapes.AddTextbox(1,20,10,50,10);
Grüße vom marabu
  Mit Zitat antworten Zitat
Timelesk

Registriert seit: 24. Jul 2004
72 Beiträge
 
#3

Re: Textbox in Word erstellen

  Alt 12. Nov 2007, 14:17
Hallo marabu,

vielen Dank. Jetzt funktioniert es.
Ich bin gerade dabei mich in die Sache einzuarbeiten und ein wenig am rummspielen.

Bei Delphi gibt es doch immer diese Live-Hilfe.
Wenn du Edit1. eingibst, popt doch gleich ein Fenster auf und zeigt dir die Möglichkeiten für das Edit-Feld an.
Wenn ich jetzt aber NewDoc. eingebe, schlägt mir Delphi lediglich Templates vor und keine Funktionen, Eigenschaften oder so etwas.

Ist das normal oder gibt es dafür (Ab-)Hilfe?

gruß
Timelesk
  Mit Zitat antworten Zitat
12. Nov 2007, 14:45
Dieses Thema wurde von "Phoenix" von "Windows 9x / ME / 2000 / XP / 2003 / Vista" nach "Sonstige Fragen zu Delphi" verschoben.
Das ist kein Windows-Problem...
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Textbox in Word erstellen

  Alt 12. Nov 2007, 14:52
Ja das ist sehr wohl normal, denn diese Hilfe häng u.a. von der Typ der Variable. Ist deine Variable "untypisiert" wie z.B. Variant oder OLEVariant, dann gibt es keine Hilfe in dem Sinne.
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Textbox in Word erstellen

  Alt 12. Nov 2007, 14:52
Es ist "normal" - und es gibt Abhilfe: Du musst von "später" zu "früher" Bindung wechseln. Sobald du nicht mehr mit OleVariant-Typen arbeitest, sondern direkt mit den relevanten Schnittstellenzeigern, hast du auch wieder die Code-Vervollständigung in der IDE.

Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz