Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Shape speichern unter...

Forumthread: Shape speichern unter...

Shape speichern unter...
08.05.2006 11:18:13
otto
Hi,
ich verwende folgenden Code um eine Grafik in Excel einzufügen.
Funktioniert bis zu dem Punkt wo ich diese Grafik als bmp speichern möchte. was ist am Code falsch?

Private Sub CommandButton1_Click()
Dim bildName As String
Dim bildPfad As String
Dim pfad As String
Dim name As String
bildPfad = "\\Server\Kundenzeichnungen\"
bildName = Worksheets("Tabelle1").[A25] & ".tif"
pfad = "C:\Dokumente und Einstellungen\\Eigene Dateien\"
name = Worksheets("Tabelle1").[A25] & ".bmp"
Worksheets("Tabelle1").Range("E3").Select
ActiveSheet.Pictures.Insert (bildPfad & bildName) '.Select
Set myDocument = Worksheets("Tabelle1")
For Each s In myDocument.Shapes
Select Case s.Type
Case msoEmbeddedOLEObject, _
msoLinkedOLEObject, _
msoOLEControlObject, _
msoLinkedPicture, msoPicture
s.ScaleHeight 0.51, True
s.ScaleWidth 0.51, True
End Select
Next
With s
.SaveAs (pfad & name)
End With
Image1.Picture = LoadPicture(pfad & name)
End Sub

Gruß otto
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Shape speichern in Excel


Schritt-für-Schritt-Anleitung

Um eine Grafik in Excel zu speichern, kannst du den folgenden VBA-Code verwenden. Dieser Code importiert ein Bild und speichert es als BMP-Datei. Achte darauf, dass der Pfad und die Dateinamen korrekt angegeben sind.

Private Sub CommandButton1_Click()
    Dim bildName As String
    Dim bildPfad As String
    Dim pfad As String
    Dim name As String

    bildPfad = "\\Server\Kundenzeichnungen\"
    bildName = Worksheets("Tabelle1").[A25] & ".tif"
    pfad = "C:\Dokumente und Einstellungen\Eigene Dateien\"
    name = Worksheets("Tabelle1").[A25] & ".bmp"

    Worksheets("Tabelle1").Range("E3").Select
    ActiveSheet.Pictures.Insert (bildPfad & bildName)

    Set myDocument = Worksheets("Tabelle1")
    For Each s In myDocument.Shapes
        Select Case s.Type
            Case msoEmbeddedOLEObject, _
                 msoLinkedOLEObject, _
                 msoOLEControlObject, _
                 msoLinkedPicture, msoPicture
                s.ScaleHeight 0.51, True
                s.ScaleWidth 0.51, True
        End Select
    Next

    With s
        .SaveAs (pfad & name)
    End With

    Image1.Picture = LoadPicture(pfad & name)
End Sub

Achte darauf, dass du die richtigen Rechte für den Zugriff auf die angegebenen Pfade hast.


Häufige Fehler und Lösungen

  1. Fehler: "Dateipfad nicht gefunden"

    • Überprüfe, ob der angegebene Pfad korrekt ist und ob die Datei tatsächlich existiert.
  2. Fehler: "Shape kann nicht gespeichert werden"

    • Stelle sicher, dass der Shape-Typ unterstützt wird. Die Typen msoOLEControlObject und msoLinkedPicture sind hier relevant.
  3. Fehler: "Zugriff verweigert"

    • Überprüfe die Berechtigungen für den Ordner, in dem du die Datei speichern möchtest.

Alternative Methoden

Falls du keinen VBA-Code verwenden möchtest, kannst du auch manuell Bilder in Excel speichern:

  1. Klicke mit der rechten Maustaste auf das Bild.
  2. Wähle "Bild speichern unter".
  3. Wähle den gewünschten Speicherort und das Dateiformat (z.B. BMP oder JPG).

Diese Methode ist einfach, wenn du nur gelegentlich Bilder speichern musst.


Praktische Beispiele

Angenommen, du hast ein Bild in Tabelle1 in Zelle A25 eingefügt. Um das Bild als BMP zu speichern, kannst du den oben genannten Code verwenden. Stelle sicher, dass A25 den richtigen Dateinamen enthält.

Ein Beispiel für den Dateinamen wäre:

MeinBild

Das Bild wird dann als MeinBild.bmp im angegebenen Verzeichnis gespeichert.


Tipps für Profis

  • Nutze die Konstante msoOLEControlObject, um sicherzustellen, dass du nur die nächsten Shapes verarbeiten kannst, die tatsächlich gespeichert werden können.
  • Experimentiere mit den Scale-Funktionen, um die Bildgröße vor dem Speichern anzupassen.
  • Halte deine Pfade und Dateinamen dynamisch, indem du Daten aus Zellen verwendest, um die Flexibilität zu erhöhen.

FAQ: Häufige Fragen

1. Kann ich auch andere Bildformate speichern?
Ja, du kannst den Dateinamen und die Endung im Code anpassen, um andere Formate wie JPG oder PNG zu verwenden.

2. Was mache ich, wenn der Code nicht funktioniert?
Stelle sicher, dass du die richtigen Excel-Versionen verwendest und dass alle Bibliotheken für VBA aktiviert sind. Überprüfe auch die Syntax im Code auf Fehler.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige