Announcement

Collapse
No announcement yet.

2 Fragen zu OLE

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • 2 Fragen zu OLE

    Hallo

    1. wie kann man in einem Olecontainer ein neues Ole-Objekt (z.b. leeres Worddokument) anzeigen ohne den Dialog zu benutzen

    if OleContainer1.InsertObjectDialog then
    begin
    ...

    2. wie kann man Daten an ein Objekt im Olecontainer senden???

    procedure Ole_Excel;

    var

    Excel : OleVaraint;

    begin

    form1.oleContainer.CreateObjectFromFile('c:\test.x ls', False);

    form1.oleContainer.DoVerb(ovShow);

    form1.oleContainer.DoVerb(1);

    Excel := form1.oleContainer.OleObject;

    Excel.Cells[1, 1].Value := 'Hallo Welt';

    end;

    möchte ich in eine Zelle schreiben, kommt immer die Fehlermeldung:
    "Die Methode Cells wird nicht vom Automatisierungsobjekt unterstützt"

    Was mach ich falsch??

    Thx
    Fargate

  • #2
    Hallo,

    >wie kann man in einem Olecontainer ein neues Ole-Objekt (z.b. leeres Worddokument) anzeigen ohne den Dialog zu benutzen ?

    Indem die Methode <b>CreateObjectFromFile</b> aufgerufen wird:
    <pre>
    FormMain.OLEContainerWord.CreateObjectFromFile(cDo cPath,False);
    </pre>
    &gt;Was mach ich falsch??

    Mit <i>Excel := form1.oleContainer.OleObject</i> erhält das Programm nur einen Interface-Zeiger auf das <b>Application</b>-Objekt von Excel, so dass der Aufruf <i>Excel.Cells[1, 1].Value := 'Hallo Welt'</i> illegal ist, denn <B>Cells</b> steht nur auf einer Excel-Seite (d.h. im <b>WorkSheet</b>-Objekt) zur Verfügung. Das eigene Programm muss sich also durch das Objektmodell von Excel durchhangeln (Application -> Workbook -> Worksheet). Die VBA-Hilfe von Microsoft Excel liefert dazu die Beschreibung der notwendigen Vorgehensweise

    Comment

    Working...
    X