![]() |
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 |
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 |
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 ? |
AW: Word Dokument In Excel einfügen
Übergebe mal den kompletten Pfad
|
AW: Word Dokument In Excel einfügen
Ich habe schon den korrekten Pfad eingegeben
excel.ActiveSheet.OLEObjects.Add('c:\eigene Dateien\Planung.docx'); |
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 |
AW: Word Dokument In Excel einfügen
Zitat:
Hast Du das mal überprüft? Gruß K-H |
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 |
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 |
AW: Word Dokument In Excel einfügen
Ich poste mal nur einen Link zu msdn, da sieht man die weiteren Parameter der Add Methode:
![]() |
AW: Word Dokument In Excel einfügen
Zitat:
Ich hab einmal ein wenig mit Excel gespielt:
Code:
Range("A3").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ "C:\Daten\Defining Parameters for reading invoices in xml format.rtf", _ TextToDisplay:= _ "C:\Daten\Defining Parameters for reading invoices in xml format.rtf" Range("A3").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Code:
Im ersten Beispiel wird nur ein Link bzw der entsprechende Text angezeigt,
Range("B10").Select
ActiveSheet.OLEObjects.Add(Filename:= _ "C:\Daten\Defining Parameters for reading invoices in xml format.rtf", Link:= _ False, DisplayAsIcon:=False).Select Selection.Verb Verb:=xlPrimary ActiveSheet.Shapes.Range(Array("Object 1")).Select ActiveSheet.Shapes("Object 1").IncrementLeft 5.25 ActiveSheet.Shapes("Object 1").IncrementTop 24.75 Im zwiten wird gleich Word mit dem Dateiinhalt eingeblendet, und die Größenänderungen der Anzeige sind mit dabei. Ich hoffe das hilft Dir weiter. Gruß K-H |
AW: Word Dokument In Excel einfügen
Ich bin jetzt ein Stück weiter
Code:
Zeigt das Word-Dokument an, springt dann aber in den alten Modus zurück.
olevEXCELoffen.ActiveSheet.OLEObjects.add(Filename:='c:\eigene Dateien\Planung.docx', Link:=false, DisplayAsIcon:=False).Select;
olevEXCELoffen.selection.Verb; Wie verhindere ich das ? bei
Code:
Undefinierter Bezeichner: 'xlPrimary'
olevEXCELoffen.selection.Verb:=Xlprimary;
bei
Code:
Meldung: Die Verb-Eigenschaft des Oleobjekts-Objekt kann nicht festgelegt werden
olevEXCELoffen.selection.Verb:=1;
|
AW: Word Dokument In Excel einfügen
Definiere dir die Konstante xlPrimary als 1.
|
AW: Word Dokument In Excel einfügen
Hallo Mkinzler,
Code:
Meldung: Die Verb-Eigenschaft des Oleobjekts-Objekt kann nicht festgelegt werden
olevEXCELoffen.selection.Verb:=1;
|
AW: Word Dokument In Excel einfügen
Meine Vermutung ist, das beim Beenden auch der Word-Modus beendet wird und zum alten Modus zurückkehrt.
Die Excel-Entwickler gehen wohl davon aus, das die Anwender wissen, wie man in den Word-Modus (Doppelklick auf das Dokument) umschaltet, was nicht der Fall ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz