![]() |
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 04:44 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