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

Forumthread: VBA über explorer Bild einfügen

VBA über explorer Bild einfügen
Erik
Hallo zusammen,
ich sitze gerade an einem problem, an dem ich einfach nicht weiter komme.
Ich versuche über den Explorer ein Bild in die Excel-Tabelle zu laden.
Dieses möchte ich mit einem Button machen, welcher später von diesem Bild verdeckt wird.
Das öffnen des Explorers funktioniert aber leider kann ich das Bild von dort nur öffnen und nicht
in die Tabelle laden.
Kann mir jemand helfen?
Danke im voraus.
Erik
Anzeige
Einfügen->Grafik
08.12.2011 11:36:17
ransi
HAllo
Ich kenne deinen bisherigen Code nicht, aber das hier ist einfacher ?
Public Sub test()
    'Einügen-->Grafik
    Application.CommandBars.FindControl(ID:=2619).Execute
End Sub


ransi
Anzeige
AW: Einfügen->Grafik
08.12.2011 11:49:37
Erik
danke für die schnelle antwort
Mein code sieht bisher so aus:
Private Sub Commandbutton2_Click()
'bestimmten Ordner im Explorer öffnen
Shell "Explorer.exe C:\pfad", vbNormalFocus
End Sub
und ich würde eben gern direkt bilder in einem ordner suchen wollen und diese dann per klick in die tabelle laden
ist das an sich überhaupt möglich ?
Erik
Anzeige
Application.Dialogs(xlDialogInsertPicture).Show ,
08.12.2011 11:58:24
ransi
HAllo
Keine Ahnung ob das auch mit dem Explorere geht.
Excel hat doch "was Fertiges".
Application.Dialogs(xlDialogInsertPicture).Show , arg1:="C:\TEMP"

ransi
Anzeige
VBA: Bild per Button einfügen und positionieren
08.12.2011 12:20:12
NoNet
Hallo Erik,
weise dem Button (hier: Button aus Formular-Steuerelemente) folgenden Code zu :
Sub Bild_Einfuegen()
Dim strBild, objBild As Object, objButton As Object
strBild = Application.GetOpenFilename("PNG-Grafiken (*.png), *.png", , "Bildauswahl")
If TypeName(strBild) = "String" Then
Set objButton = ActiveSheet.Buttons("Button 1") 'Name des Buttons bitte anpassen !
Set objBild = ActiveSheet.Pictures.Insert(strBild)
With objBild
'linke Position relativ zum Button1 :
.Left = objButton.Left + objButton.Width / 2 - .Width / 2
'obere Position relativ zum Button1 :
.Top = objButton.Top + objButton.Height / 2 - .Height / 2
End With
End If
End Sub
Hier der Button mit obigem Code im LIVE-Einsatz :
Userbild
Gruß, NoNet
Anzeige
off Topic
08.12.2011 12:31:45
ransi
Hallo NoNet
Welche Software nutzt du um den Screen als animierte Gif darzustellen ?
Ich find nur Software die AVI oder MPG oder flv macht.
ransi
AW: OT @Ransi : www.techsmith.de/camtasia.asp _oT
08.12.2011 19:02:33
ransi
HAllo
Das is ja geil...
Thx
ransi
Anzeige
AW: off Topic
12.12.2011 13:52:00
Erik
Heyho,
danke NoNet für die info aber geht das auch mit .jpg bildern? weil dabei immer ne fehlermeldung kommt "Fehler 400" keine ahnung was das bedeuten soll.
Danke im voraus.
Erik
AW: VBA: Bild per Button einfügen und positionieren
13.12.2011 14:20:15
Erik
Hallo NoNet,
danke für deine ausführliche hilfe aber ich müsste .jpg bilder einfügen aber dies funktioniert einfach net.
Gibt es da einen trick wie man dies möglich machen kann ?
Erik
Anzeige
AW: VBA: Bild per Button einfügen und positionieren
13.12.2011 14:23:13
Erik
Hallo NoNet,
danke für deine ausführliche hilfe aber ich müsste .jpg bilder einfügen und das funktioniert einfach net.
Gibt es dafür einen trick?
Erik
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bilder über VBA in Excel einfügen


Schritt-für-Schritt-Anleitung

Um ein Bild über VBA in Excel einzufügen, kannst du den folgenden Code verwenden. Dieser Code öffnet einen Dialog, der es dir erlaubt, ein Bild auszuwählen und es dann in das aktive Arbeitsblatt einzufügen.

Sub Bild_Einfuegen()
    Dim strBild As String
    Dim objBild As Object

    ' Bildauswahl-Dialog öffnen
    strBild = Application.GetOpenFilename("Bilder (*.jpg; *.png), *.jpg; *.png", , "Bildauswahl")

    ' Überprüfen, ob ein Bild ausgewählt wurde
    If strBild <> "False" Then
        Set objBild = ActiveSheet.Pictures.Insert(strBild)
        ' Optional: Bild positionieren
        With objBild
            .Left = 10 ' X-Position
            .Top = 10  ' Y-Position
        End With
    End If
End Sub

Mit diesem Code kannst du Bilder im JPG- oder PNG-Format einfügen. Achte darauf, den Dialog so anzupassen, dass er die gewünschten Bildformate anzeigt.


Häufige Fehler und Lösungen

  1. Fehler 400 beim Einfügen von JPG-Bildern
    Wenn du beim Einfügen von JPG-Bildern auf den Fehler 400 stößt, könnte dies an einem ungültigen Bildpfad oder beschädigten Dateien liegen. Stelle sicher, dass das Bild existiert und nicht beschädigt ist.

  2. Bild wird nicht eingefügt
    Wenn das Bild nicht eingefügt wird, prüfe, ob der Dialog tatsächlich ein Bild auswählt und der Rückgabewert nicht "False" ist. Ansonsten wird das Bild nicht geladen.


Alternative Methoden

Eine alternative Methode, um Bilder in Excel einzufügen, ist die Verwendung des Application.Dialogs(xlDialogInsertPicture).Show-Befehls. Dieser öffnet einen vordefinierten Dialog zum Einfügen von Bildern:

Sub BildMitDialogEinfügen()
    Application.Dialogs(xlDialogInsertPicture).Show
End Sub

Diese Methode ist einfach und erfordert keine manuelle Auswahl des Bildpfades.


Praktische Beispiele

Hier ist ein Beispiel, wie du einen Button erstellen kannst, der beim Klicken ein Bild einfügt und es an eine bestimmte Position verschiebt:

Sub Button_Bild_Einfuegen()
    Dim objButton As Object
    Dim strBild As String

    ' Bildauswahl durch den Benutzer
    strBild = Application.GetOpenFilename("Bilder (*.jpg; *.png), *.jpg; *.png", , "Bildauswahl")

    If strBild <> "False" Then
        ' Button auf dem aktiven Arbeitsblatt referenzieren
        Set objButton = ActiveSheet.Buttons("Button 1") ' Button-Name anpassen
        ' Bild einfügen
        With ActiveSheet.Pictures.Insert(strBild)
            .Left = objButton.Left + (objButton.Width / 2) - (.Width / 2)
            .Top = objButton.Top + (objButton.Height / 2) - (.Height / 2)
        End With
    End If
End Sub

Tipps für Profis

  • Verwende die Application.Dialogs(xlDialogInsertPicture).Show-Methode, um schnell und einfach Bilder in dein Arbeitsblatt einzufügen, ohne viel Code schreiben zu müssen.
  • Positioniere Bilder dynamisch, indem du die Position relativ zu anderen Steuerelementen oder Zellen festlegst. So bleibt das Layout deiner Tabelle sauber und übersichtlich.
  • Teste deinen Code regelmäßig, um sicherzustellen, dass alles wie gewünscht funktioniert, insbesondere, wenn du mit verschiedenen Bildformaten arbeitest.

FAQ: Häufige Fragen

1. Kann ich andere Bildformate außer JPG und PNG einfügen?
Ja, du kannst auch andere Formate wie BMP oder GIF hinzufügen, indem du das Filterkriterium im GetOpenFilename-Befehl anpasst.

2. Warum funktioniert der Dialog nicht bei bestimmten Excel-Versionen?
Einige Dialogfunktionen können in älteren Versionen von Excel eingeschränkt sein. Stelle sicher, dass du eine unterstützte Version verwendest, um die besten Ergebnisse zu erzielen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige