![]() |
Grafik von Excel in die Wordtabelle
Hallo,
Ich will eine Grafik, die in einer Excel-Zelle hinterlegt ist, in eine Wordtabelle kopieren. Klappt nicht. Ist statt einer Grafik ein Text hinterlegt, funktioniert es. Der Befehl lautet:
Delphi-Quellcode:
WordTabelle.Cell(1,1).Range.Text :=excel.cells[1,1].value;
Wie muß ich diese Befehlszeile entsprechend abändern, um die in der Excel-Zelle hinterlegte Grafik sichtbar u machen ? mfg Nimmersatt |
AW: Grafik von Excel in die Wordtabelle
Ich meine, dass eine Grafik nicht in einer Zelle hängt, sondern nur dort platziert wird. Das würde das Problem erklären. Wie man aber aber die Grafik kommt, weiß ich nicht.
|
AW: Grafik von Excel in die Wordtabelle
Keine Ahnung, mein erster Versuch wäre:
Delphi-Quellcode:
Wenn ich in Excel mit Value ein Bild lesen kann, warum sollte ich das in Word als Text schreiben? Für mich wäre da beim Schreiben Value näherliegend.
WordTabelle.Cell(1,1).Range.value :=excel.cells[1,1].value;
Ob's geht? weiß nicht. |
AW: Grafik von Excel in die Wordtabelle
@delphi.Narium
Funktioniert nicht. Ich versuche jetzt alle möglichen Shapes-Varianten auszuprobieren. mfg Nimmersatt |
AW: Grafik von Excel in die Wordtabelle
Eine Grafik aus einem Verzeichnis einzulesen funktioniert, siehe hier
Delphi-Quellcode:
WordTabelle.Cell(1,1).range.InlineShapes.AddPicture('C:\eigene dateien\grafik 1.bmp',false,true);
Hat jetzt jemand eine Idee, wie die Grafik einer Excel-Zelle eingelesen werden kann ? mfg Nimmersatt |
AW: Grafik von Excel in die Wordtabelle
Zitat:
Hast du ein Beispiel? |
AW: Grafik von Excel in die Wordtabelle
Delphi-Quellcode:
Gefunden
Set p = ActiveSheet.Shapes.AddPicture(FileName:=PictureFileName,_
linktofile:=msoFalse, savewithdocument:=msoCTrue, _ left:=TargetCell.Left, Top:=TargetCell.Top, Width:=-1,_ Height:=TargetCell.Height) ![]() |
AW: Grafik von Excel in die Wordtabelle
@Zeras
Na Grafik kopieren und bei der Excel-Zelle Inhalte einfügen. Es gibt da keine Probleme Grafiken in Excel abzulegen. Ich habe den Sinn deiner Frage nicht verstanden. @Kodezwerg Eine ähnliche Lösung habe ich schon gefunden, siehe hier
Delphi-Quellcode:
WordTabelle.Cell(1,1).range.InlineShapes.AddPicture('C:\eigene dateien\grafik 1.bmp',false,true);
Ich möchte aber die Grafik aus einer Excel-Zelle ablesen, die ich dort hinterlegt habe. Wo Excel genau diese Grafik abspeichert, weiss ich nicht. mfg Nimmersatt |
AW: Grafik von Excel in die Wordtabelle
Zitat:
Unter ![]() |
AW: Grafik von Excel in die Wordtabelle
Ich habe mir mal ein
![]() Du kannst Dir ja ![]() |
AW: Grafik von Excel in die Wordtabelle
in #7 hat codezwerg gezeigt o in Excel eine Grafik abgelegt sein könnte!
Gruß K-H |
AW: Grafik von Excel in die Wordtabelle
Ja und nein, das sagt Excel das eine embedded Datei an Koordinaten x,y hin soll, aber cell hat meines Wissens dadurch kein Objekt.
Ich bräuchte mal eine Test Excel Datei, hab sowas nicht, aber ich glaube mich erinnern zu können das man mit zip dekompression an embedded inhalte rankommt. Falls TE mal ne Datei bereitstellt kann ich was testen. |
AW: Grafik von Excel in die Wordtabelle
aus
![]() Bilder werden alle in Blatt "Bildersammlung" kopiert und angeordnet. Gegebenenfalls Anpassen
Delphi-Quellcode:
Sub BilderSammeln()
Dim s As Shape Dim wks As Worksheet Dim wksZ As Worksheet Dim dblTop As Double Dim dblLeft As Double Application.ScreenUpdating = False Set wksZ = Worksheets("Bildersammlung") 'Anpassen 'Kopieren For Each wks In ThisWorkbook.Worksheets If wks.Name <> wksZ.Name Then For Each s In wks.Shapes If s.Name Like "*Grafik*" Or _ s.Name Like "*Bild*" Then s.Copy wksZ.Paste End If Next End If Next 'Anordnung Untereinander For Each s In wksZ.Shapes s.Top = dblTop s.Left = dblLeft dblTop = dblTop + s.Height dblLeft = 0 Next Application.ScreenUpdating = False End Sub Kann das mal jemand in Delphi übersetzen ? In meiner Exceldatei existiert kein "sichtbares" Blatt "Bildersammlung", wo angeblich alle Bilder kopiert und angeordnet sein sollen. mfg Nimmersatt |
AW: Grafik von Excel in die Wordtabelle
Zitat:
Gruß K-H |
AW: Grafik von Excel in die Wordtabelle
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm..
Wieso die Excel-Bilder nicht per Zwischenablage extrahieren (geht auch ohne Blatt "Bildersammlung") und dann per Paste in Word einfügen? Im Anhang ist ein kleines Test-Tool, welches die Bilder in die Zwischenablage packt und dann in ein neues Word-Dokument, incl. der Row und Column Information. (Erstellt mit D6 und Office 2013) Hier brauchst Du dir nur die Positionierung für dein Word-Dokument anzupassen. |
AW: Grafik von Excel in die Wordtabelle
Hallo Nimmersatt,
hier ein Beispiel:
Delphi-Quellcode:
Skalierungen und Positionierungen sind jetzt nicht dabei berücksichtigt.
procedure BildvonExcelnachWord;
var WordApp, ExcelApp, NewWord, NewExcel: OleVariant; count: integer; begin try ExcelApp:=CreateOleObject('Excel.Application'); except exit; end; ExcelApp.Visible:=True; NewExcel:=ExcelApp.WorkBooks.Add; // Zwei Bilder untereinander laden ExcelApp.ActiveSheet.Pictures.Insert('C:\Users\...\Pictures\Bild1.JPG'); // Meine Bilder belegen nur 26 Zeilen, also das 2. Bild ab Zeile 28 laden ExcelApp.Cells[28,1].Select; ExcelApp.ActiveSheet.Pictures.Insert('C:\Users\...\Pictures\Bild2.JPG'); // gibt die Anzahl der vorhandenen Bilder zurück. count:=ExcelApp.ActiveSheet.Pictures.Count; // Wichtig alle oder mindestens ein Bild selektieren ( ...Pictures[1].Select;) ExcelApp.ActiveSheet.Pictures.Select; // Hier das 2. Bild in die Zwischenablage kopieren ExcelApp.ActiveSheet.Pictures[2].Copy; try WordApp:=CreateOleObject('Word.Application'); except exit; end; WordApp.Visible:=True; NewWord:=WordApp.Documents.Add; WordApp.Selection.Paste; end; Vielleicht hilft Dir dieses Beispiel weiter. |
AW: Grafik von Excel in die Wordtabelle
Hallo Ghubi01,
Delphi-Quellcode:
count:=ExcelApp.ActiveSheet.Pictures.Count;
ExcelApp.ActiveSheet.Pictures.Select; ExcelApp.ActiveSheet.Pictures[1].Copy; WordApp.Selection.Paste; Als ich einen Teil deines Codes in meinem Programm testete, gab es Fehlermeldungen. Als ich dein ganzes Programm testete, funktionierte es reibungslos.:thumb: Könnten Positionsdaten der Bilder mitgeliefert werden, damit ich weiß, welches Bild das Richtige ist ? Kann gar nicht glauben, dass nach all dem Ärger heute das Problem gelöst sein soll. mfg Nimmersatt |
AW: Grafik von Excel in die Wordtabelle
Dank auch an HolgerX, da kann ich vieles lernen.:thumb:
|
AW: Grafik von Excel in die Wordtabelle
Hallo Nimmersatt,
ich weis nicht, ob es so sinnvoll ist die Bilder über ihre Position zu identifizieren. Du kannst aber jedem Bild schon beim Laden in die Excel-Datei einen eindeutigen Namen mitgeben und darüber das gewünschte Bild Dir holen.
Delphi-Quellcode:
...
ExcelApp.ActiveSheet.Pictures.Insert('C:\Users\...\Pictures\Bild1.JPG').Name:='MyBild1'; ExcelApp.Cells[28,1].Select; ExcelApp.ActiveSheet.Pictures.Insert('C:\Users\...\Pictures\Bild2.JPG').Name:='MyBild2'; ExcelApp.ActiveSheet.Pictures.Select; ExcelApp.ActiveSheet.Pictures('MyBild2').Copy; ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 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