Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Werkzeug
BildScreenshot zu Werkzeug Werkzeug-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Image
BildScreenshot zu Image Image-Seite mit Beispielarbeitsmappe aufrufen

Grafik oder Bereich mit VBA als Bild speichern | Herbers Excel-Forum


Betrifft: Grafik oder Bereich mit VBA als Bild speichern von: DieterL
Geschrieben am: 17.01.2010 09:59:41

Hallo Excelfreunde,

ich habe in einem Datenblatt ein Bild eingefügt (jpg) und mit den Excel Werkzeugen noch Linien und Flächen hizugefügt, die ich mit VBA ansprechen und die Farbe ändern kann. Ich habe das Bild und die Objekte gruppiert und das ganze heißt jetzt Gruppierung 3. Nun möchte ich nach einer Änderung die komplette Grafik mit VBA im Wurzelverzeichnis der Arbeitsmappe als .jpg oder .gif abspeichern wobei eine vorhandene Datei ohne Meldung überschrieben werden soll. Die Lösung, per Hand kopieren und in ein Grafikprogramm als Bild einzufügen, kommt nicht in Frage da der Ablauf automatisch erfolgen soll. Es währe auch schon hilfreich wenn ich den Bereich in dem die Grafik liegt als Bild exportieren könnte z.B. (A1-C20).
Ich hoffe das ich mich verständlich ausgedrückt habe und jemand einen Tip für mich hat. Die Suchfunktion hat jedenfalls keine brauchbare Lösung gebracht. Beste Dank schon mal für die Mühe.
Gruß, DieterL

  

Betrifft: AW: Grafik oder Bereich mit VBA als Bild speichern von: Beverly
Geschrieben am: 17.01.2010 10:05:07

Hi Dieter,

speichere die Datei als Webseite. In diesem Fall wird auch ein Ordner erstellt, in welchem das Bild abgelegt wird.

Es gibt natürlich auch die Möglichkeit, die Gruppierung per VBA direkt als Bilddatei abzuspeichern.


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Grafik oder Bereich mit VBA als Bild speichern von: DieterL
Geschrieben am: 17.01.2010 10:47:24

Hallo Beverly,

das abspeichern als htm bringt eine besch.... Qualität und passt auch nicht in meinen Ablauf. Die Grafik die ich abspeichern will, wird sofort von einem FTP Programm das den Speicherort überwacht zu einem Internetserver hochgeladen und soll eine vorhandene ersetzen. Es geht nur, wenn ich die Gruppierung oder den Bereich als Bild speichern kann.

DieterL


  

Betrifft: AW: Grafik oder Bereich mit VBA als Bild speichern von: Beverly
Geschrieben am: 17.01.2010 11:35:43

Hi Dieter,

Sub BilderExportierenShape()
    Dim shBild As Shape
    Set shBild = ActiveSheet.Shapes(1)
    BildExportShape shBild
    Set shBild = Nothing
End Sub

Sub BildExportShape(shExport As Shape)
    Dim chDiagramm As ChartObject
    Application.ScreenUpdating = False
    shExport.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    Set chDiagramm = ActiveSheet.ChartObjects.Add(0, 0, shExport.Width, shExport.Height)
    With chDiagramm.Chart
        .Paste
        .Export Filename:="C:\Test\Bild1.jpg", FilterName:="JPG" ' andere Grafikformate sind mö  _
_
glich
    End With
    chDiagramm.Delete
    Set chDiagramm = Nothing
    Set shExport = Nothing
    Application.ScreenUpdating = True
End Sub


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Grafik oder Bereich mit VBA als Bild speichern von: DieterL
Geschrieben am: 17.01.2010 17:03:10

Hallo Beverly,

ich habe Deinen Code ausprobiert und es klappt auch!!
Vielen Dank, jetzt habe ich für beides, Grafik und Bereich als Bild speichern einen Code.
Mehr kann man nicht erwarten.
DieterL


  

Betrifft: AW: Grafik oder Bereich mit VBA als Bild speichern von: Josef Ehrensberger
Geschrieben am: 17.01.2010 11:15:53

Hallo Dieter,

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Range_To_Image()
  Dim objPict As Object, objChrt As Chart
  Dim rngImage As Range, strFile As String
  
  On Error GoTo ErrExit
  
  With Sheets("Tabelle1") 'Tabellenname - Anpassen!
    
    Set rngImage = .Range("A1:C20")
    
    rngImage.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
    
    .PasteSpecial Format:="Bitmap", Link:=False, DisplayAsIcon:=False
    
    Set objPict = .Shapes(.Shapes.Count)
    
    strFile = "E:\Temp\meinBild.gif" 'Pfad und Dateiname für das Bild
    
    objPict.Copy
    
    Set objChrt = .ChartObjects.Add(1, 1, objPict.Width + 8, objPict.Height + 8).Chart
    
    objChrt.Paste
    objChrt.Export strFile
    objChrt.Parent.Delete
    objPict.Delete
    
  End With
  
  ErrExit:
  Set objPict = Nothing
  Set objChrt = Nothing
  Set rngImage = Nothing
End Sub



Gruß Sepp



  

Betrifft: AW: Grafik oder Bereich mit VBA als Bild speichern von: DieterL
Geschrieben am: 17.01.2010 11:32:18

Hallo Sepp,

das wars, das hift mir weiter.
Danke DieterL


Beiträge aus den Excel-Beispielen zum Thema "Grafik oder Bereich mit VBA als Bild speichern"