Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Word Dokument In Excel einfügen (https://www.delphipraxis.net/184696-word-dokument-excel-einfuegen.html)

Nimmersatt 15. Apr 2015 10:40

Word Dokument In Excel einfügen
 
Hallo,

Ich möchte eine Word-Datei in Excel einfügen.

In Excel geht das so
Einfügen ->Objekt -> aus Datei erstellen->Durchsuchen-> OK

Wie kann ich das in Delphi realisieren ?

So stelle ich mir das vor -> Excel.cells[1,1]:=einbetten("c:\Planung.docx";"");

Ziel ist es, eine Excel-Datei mit integrierter Word-Datei weiterreichen zu können, ohne das von der Excel-Datei aus auf eine Word-Datei zugegriffen werden muss.


mfg Nimmersatt

mkinzler 15. Apr 2015 10:50

AW: Word Dokument In Excel einfügen
 
Einfach in Makroaufzeichnung starten und Vorgang ausführen.
Danach im Makro sehen wie der Befehl aussieht.

-> ActiveSheet.OLEObjects.Add

Nimmersatt 15. Apr 2015 13:08

AW: Word Dokument In Excel einfügen
 
Macro-Code

ActiveSheet.OLEObjects.Add(Filename:= _
"C:\Planung.docx", Link:=False, DisplayAsIcon:= _
False).Select;


Delphi-Code

excel.ActiveSheet.OLEObjects.Add('Planung.docx');

Fehlermeldung
'Objekt kann nicht eingefügt werden'


Wie geht es weiter ?

mkinzler 15. Apr 2015 13:10

AW: Word Dokument In Excel einfügen
 
Übergebe mal den kompletten Pfad

Nimmersatt 15. Apr 2015 13:20

AW: Word Dokument In Excel einfügen
 
Ich habe schon den korrekten Pfad eingegeben

excel.ActiveSheet.OLEObjects.Add('c:\eigene Dateien\Planung.docx');

Nimmersatt 15. Apr 2015 16:16

AW: Word Dokument In Excel einfügen
 
excel.ActiveSheet.OLEObjects.Add('c:\eigene Dateien\Planung.docx');


die ausführliche Fehlermeldung lautet:

...ist eine Exception der Klasse Eoleexception aufgetreten. Meldung 'Objekt kann nicht eingefügt werden'.Prozess wurde angehalten.



excelobj.ActiveSheet.OLEObjects.Add('C:\eigene Dateien\Work111.docx',false,false,40,40,150,10);

Meldung: 'Die Add-Methode des Oleobjects-Objektes konnte nicht ausgeführt werden.'


ich habe keine Idee, wo ich jetzt ansetzen könnte

p80286 15. Apr 2015 21:21

AW: Word Dokument In Excel einfügen
 
Zitat:

Zitat von Nimmersatt (Beitrag 1297828)
Macro-Code

Code:
ActiveSheet.OLEObjects.Add(Filename:="C:\Planung.docx", Link:=False, DisplayAsIcon:=False).Select;

Delphi-Code

Code:
excel.ActiveSheet.OLEObjects.Add('Planung.docx');

Da gibt es ja kleine Unterschiede!
Hast Du das mal überprüft?

Gruß
K-H

Chemiker 15. Apr 2015 21:45

AW: Word Dokument In Excel einfügen
 
Hallo Nimmersatt,

sollte mit Excel 2007 so funktionieren.

Delphi-Quellcode:
procedure TForm1.btWordDokumentEinbettenClick(Sender: TObject);
var
  DateiName: TFileName;
  olevEXCELoffen: OLEVariant;
begin
  try
    olevEXCELoffen := CreateOleObject('Excel.Application');
  except
    ShowMessage('Excel konnte nicht gestartet werden !');
    Exit;
  end;
  olevEXCELoffen.Visible:= TRUE;
  if ExcelOpenDialog1.Execute then
  begin
    DateiName:= ExcelOpenDialog1.FileName;
  end;
  olevEXCELoffen.Workbooks.add;
  olevEXCELoffen.range['C1','C1'].Select;
  olevEXCELoffen.ActiveSheet.OLEObjects.add(Filename:= DateiName, Link:=False, DisplayAsIcon:=False).Select;

  ShowMessage('Excel schauen !');

  if NOT VarIsEmpty(olevEXCELoffen) then
  begin
    olevEXCELoffen.Quit;
    olevEXCELoffen:= Unassigned;
  end;
end;


Bis bald Chemiker

Nimmersatt 16. Apr 2015 11:45

AW: Word Dokument In Excel einfügen
 
Hallo Chemiker,


Es hat alles wunderbar geklappt.:thumb:

Ich will aber mehr

Ich möchte ein mehrseitiges Word-Dokument einbinden. Unter Excel wird das mit einem Doppelklick auf das Dokument realisiert, es schaltet dann in den Word-Modus um.

Wie kann ich das in Delphi realisieren ?

Und dann noch eine nächste Bitte...

Wir kann ich die Höhe und Breite des Ausschnittes festlegen, in dem das Word-Dokument sichtbar ist ?


mfg Nimmersatt

Jumpy 16. Apr 2015 12:00

AW: Word Dokument In Excel einfügen
 
Ich poste mal nur einen Link zu msdn, da sieht man die weiteren Parameter der Add Methode:

https://msdn.microsoft.com/DE-DE/lib.../ff195728.aspx


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr.
Seite 1 von 2  1 2      

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