AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Grafik von Excel in die Wordtabelle

Grafik von Excel in die Wordtabelle

Ein Thema von Nimmersatt · begonnen am 3. Okt 2018 · letzter Beitrag vom 5. Okt 2018
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von p80286
p80286

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

AW: Grafik von Excel in die Wordtabelle

  Alt 3. Okt 2018, 21:20
in #7 hat codezwerg gezeigt o in Excel eine Grafik abgelegt sein könnte!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Grafik von Excel in die Wordtabelle

  Alt 3. Okt 2018, 21:48
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.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Nimmersatt

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

AW: Grafik von Excel in die Wordtabelle

  Alt 3. Okt 2018, 22:27
aus

http://www.office-loesung.de/ftopic292832_0_0_asc.php


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
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Grafik von Excel in die Wordtabelle

  Alt 4. Okt 2018, 08:06
In meiner Exceldatei existiert kein "sichtbares" Blatt "Bildersammlung", wo angeblich alle Bilder kopiert und angeordnet sein sollen.
Dann leg es doch an!?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#15

AW: Grafik von Excel in die Wordtabelle

  Alt 4. Okt 2018, 08:21
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.
Angehängte Dateien
Dateityp: zip Test_Excel_ImageExtract.zip (1,19 MB, 9x aufgerufen)
  Mit Zitat antworten Zitat
ghubi01

Registriert seit: 18. Nov 2017
121 Beiträge
 
Delphi 12 Athens
 
#16

AW: Grafik von Excel in die Wordtabelle

  Alt 4. Okt 2018, 21:32
Hallo Nimmersatt,

hier ein Beispiel:

Delphi-Quellcode:
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;
Skalierungen und Positionierungen sind jetzt nicht dabei berücksichtigt.
Vielleicht hilft Dir dieses Beispiel weiter.
  Mit Zitat antworten Zitat
Nimmersatt

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

AW: Grafik von Excel in die Wordtabelle

  Alt 5. Okt 2018, 00:21
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.

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

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

AW: Grafik von Excel in die Wordtabelle

  Alt 5. Okt 2018, 00:43
Dank auch an HolgerX, da kann ich vieles lernen.
  Mit Zitat antworten Zitat
ghubi01

Registriert seit: 18. Nov 2017
121 Beiträge
 
Delphi 12 Athens
 
#19

AW: Grafik von Excel in die Wordtabelle

  Alt 5. Okt 2018, 10:26
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;
...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:36 Uhr.
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