Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel: Diagramm als .bmp abspeichern und ...

Excel: Diagramm als .bmp abspeichern und ...
14.09.2017 13:18:18
Kai
Hallo liebe Leute, ersteinmal muss ich sagen das ihr hier wirklich großartige Hilfe leistet, Hut ab, meinen Respekt dafür!
Ich habe folgende Problemstellung, ich möchte aus Excel ein markiertes Diagramm als .bmp (oder vllt später auch als .jpg oder .png ) abspeichern. Anschließend soll die abgespeicherte Datei in die allgemeine Zwischenablage kopiert werden, damit ich diese manuell (das ist wichtig) wieder in ein Word Dokument einfügen kann.
Ziel ist es, aus einer Excel Datei in der sich viele Diagramme befinden, diese eines nach dem anderen anzuklicken, dann wird die Bilddatei abgelegt und diese in die Zwischenablage kopiert, in Word habe ich dann ja im Linken Fensterabschnitt alle in der Zwischenablage liegenden Bilder und kann diese nach und nach dort im Word einfügen.
Das hier ist bis jetzt mein Code, den ich mir aus anderen Beiträgen hier im Forum _
zusammengeklaubt habe.

Sub Export()
Dim strGrafikName As String
Dim strPfad As String
Dim strDatei As String
strPfad = ThisWorkbook.Path
strDatei = ActiveSheet.Name & ".bmp"
strGrafikName = strPfad & "\" & strDatei
On Error GoTo ErrorHandler
ActiveChart.Export Filename:=strGrafikName, FilterName:=Right(strGrafikName, 3)
'Grafik in die Zwischenablage einfügen
'  Clipboard.SetData LoadPicture("C:\Users\thielk2\Desktop\Tabelle1.bmp"), vbCfBitmap
Clipboard.SetData LoadPicture(ThisWorkbook.Path & " \ " & strGrafikName), vbCfBitmap
' Ende Testcode
Exit Sub
ErrorHandler:
If Err.Number = 91 Then
MsgBox "Export nicht möglich. " & _
"Sie haben kein Diagramm ausgewählt.", _
vbCritical + vbOKOnly, _
"Diagramm als Grafik exportieren"
Else
MsgBox "Der folgende Fehler ist aufgetreten: " & _
Err.Number & " - " & Err.Description, vbCritical + _
vbOKOnly, "Diagramm als Grafik exportieren"
End If
End Sub

Ich bekomme nun die Fehlermeldung,
"Fehler beim Zugriff auf Pfad/Datei"
weil ich dort wahrscheinlich irgendwie Syntax Murks gebaut habe, bin wie gesagt leider totaler Anfänger, aber selbst wenn ich den Pfad direkt angebe wie im auskommentierten Teil, dann bekomme ich die Fehlermeldung,
"424 - Objekt erforderlich"
Ich weiß leider nicht was ich falsch mache und wie ich weiter komme.
Könnte mir einer von euch vielleicht aushelfen und meinen Code komplettieren, bei beiden Problemen?
Das der Pfad automatisch richtig erkannt wird und das das Bild danach in die Zwischenablage kommt,
damit ich es danach mit Strg+V in Word einfügen kann, bzw. dort aus der Zwischenablage-Liste auswählen kann?
Vielen, vielen Dank bereits im voraus!
MfG
Euer Kai

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel: Diagramm als .bmp abspeichern und ...
14.09.2017 13:55:54
Michael
Hallo!
Ich bin mir jetzt nicht ganz sicher was Du brauchst, Deiner Beschreibung folgend, aber wenn es Dir nur darum geht, dass Du mittels Makro das gerade markierte Diagramm kopieren willst, um es in Word (zB per [Strg] + [V]) einzufügen, dann reicht das:
Sub a()
ActiveChart.CopyPicture
End Sub
Wenn Du ein Diagramm markiert hast und diesen Code ausführst, kannst Du in Word, wie oben beschrieben, das Diagramm-Bild einfügen.
LG
Michael
AW: Excel: Diagramm als .bmp abspeichern und ...
14.09.2017 14:01:10
Kai
So einfach kann ich es mir nicht machen. Daher habe ich ja meinen beinahe funktionierenden Code auch gepostet...
Es ist so das es sich um ca 50 Diagramme mit jeweils über 30.000 einzelwerten handelt. Wenn ich die Diagramme einfach ins Word kopiere, dann wird die Word Datei schnell über 300 Mb groß und was das es geht nichts mehr außer das das Programm abstürzt, damit arbeiten kann man nicht mehr!
Daher der Umweg das Diagramm vorher als .bmp abzuspeichern,
Das funktioniert mit meinem Code ja auch schon.
Das Bild ist dann im Order wo die Excelfile liegt vorhanden.
Jetzt muss nur noch die abgelegte .bmp Datei wieder in die Zwischenablage eingelesen werden, damit ich das nicht von Hand machen muss.
Ich hoffe ich konnte es jetzt besser beschreiben?
MfG
Kai
Anzeige
Jemand anderer? Denn...
14.09.2017 14:44:15
Michael
...da wird's vermutlich API brauchen, ist nicht mein Metier.
Allerdings ist mir auch noch nicht klar, wie diese Vorgehensweise die Dateigröße gering halten soll...
LG
Michael
AW: Jemand anderer? Denn...
14.09.2017 14:51:13
Kai
Es sieht so aus, ein Diagramm, das als Bitmap abgespeichert wurde, ist wenige KB groß. Dieses Bitmap wurde aus einem Excel File heraus in einem Order gespeichert und soll in der Zwischenablage verfügbar sein. (Dies soll das Makro ermöglichen, der Teil mit dem abspeichern funktioniert ja auch schon, nur nicht das anschließende laden in die Zwischenablage).
Dann öffne Ich meine Word Datei, in dem Ich meinen Bericht verfasse, in dieses Word Dokument kopiere ich das Bitmap aus der Zwischenablage - Kleine Word Datei erreicht, da nur Bitmap Bilder darin sind.
Die Excel Datei ist natürlich wahnsinnig groß, weil Sie die ganzen Rohdaten enthält, aber das ist kein Problem.
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige