AGB  ·  Datenschutz  ·  Impressum  







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

Word Dokument In Excel einfügen

Ein Thema von Nimmersatt · begonnen am 15. Apr 2015 · letzter Beitrag vom 16. Apr 2015
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Word Dokument In Excel einfügen

  Alt 15. Apr 2015, 21:21
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Word Dokument In Excel einfügen

  Alt 15. Apr 2015, 21:45
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
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Nimmersatt

Registriert seit: 14. Feb 2014
86 Beiträge
 
#3

AW: Word Dokument In Excel einfügen

  Alt 16. Apr 2015, 11:45
Hallo Chemiker,


Es hat alles wunderbar geklappt.

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
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Word Dokument In Excel einfügen

  Alt 16. Apr 2015, 12:00
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
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Word Dokument In Excel einfügen

  Alt 16. Apr 2015, 13:44
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.
Wenn ich mich nicht irre, reicht es das Word-Dokument in Excel einzubinden. Da hat Delphi eigentlich recht wenig mit zu tun.

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:
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 ersten Beispiel wird nur ein Link bzw der entsprechende Text angezeigt,
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Nimmersatt

Registriert seit: 14. Feb 2014
86 Beiträge
 
#6

AW: Word Dokument In Excel einfügen

  Alt 16. Apr 2015, 15:37
Ich bin jetzt ein Stück weiter

Code:
olevEXCELoffen.ActiveSheet.OLEObjects.add(Filename:='c:\eigene Dateien\Planung.docx', Link:=false, DisplayAsIcon:=False).Select;
olevEXCELoffen.selection.Verb;
Zeigt das Word-Dokument an, springt dann aber in den alten Modus zurück.
Wie verhindere ich das ?


bei

Code:
olevEXCELoffen.selection.Verb:=Xlprimary;
Undefinierter Bezeichner: 'xlPrimary'


bei
Code:
olevEXCELoffen.selection.Verb:=1;
Meldung: Die Verb-Eigenschaft des Oleobjekts-Objekt kann nicht festgelegt werden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.876 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Word Dokument In Excel einfügen

  Alt 16. Apr 2015, 15:43
Definiere dir die Konstante xlPrimary als 1.
Markus Kinzler
  Mit Zitat antworten Zitat
Nimmersatt

Registriert seit: 14. Feb 2014
86 Beiträge
 
#8

AW: Word Dokument In Excel einfügen

  Alt 16. Apr 2015, 15:50
Hallo Mkinzler,

Code:
 olevEXCELoffen.selection.Verb:=1;
Meldung: Die Verb-Eigenschaft des Oleobjekts-Objekt kann nicht festgelegt werden
  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 06:19 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