Microsoft Excel

Herbers Excel/VBA-Archiv

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

Bild per Pfadangabe einfügen | Herbers Excel-Forum


Betrifft: Bild per Pfadangabe einfügen von: strodti
Geschrieben am: 02.02.2010 15:30:42

Hallo liebes Forum,
bin neu hier, konnte bereits einige Probleme dank des Archivs lösen, aber folgendes bisher nicht:
Ich soll in Excel 2003 eine Vorlagendatei erstellen, die für verschiedene gleichartige Projekte dienen soll. Hierzu ist auch die Einbindung eines Fotos erforderlich, welches jedoch projektspezifisch ist. Der Pfad der Datei als auch der Fotos sind immer "gleich", dh. unterscheiden sich hinsichtlich der Projektnummer, ansonsten gleiche Ordnerstruktur.
Meine Vorstellung ist nun, z.B. in der Zelle B2 einen Code stehen zu haben, die mir abhängig vom jeweiligen Projekt (Projektnummer) das entsprechende Bild in vordefinierter Größe einbindet.
Wenn mich jemand versteht und genug nerven hat, einem VBA-Embryo was zu erklären, habt bereits im Vorfeld vielen Dank.

MfG Strodti

  

Betrifft: AW: Bild per Pfadangabe einfügen von: Josef Ehrensberger
Geschrieben am: 02.02.2010 15:55:32

Hallo Strodti,


ich gehe bei meinem Beispiel von Tabelle1 aus, ggf musst du den Tabellennamen anpassen.

Füge in diese Tabelle ein Image-Steuerelement ein, dazu gehst du auf [Ansicht] > [Symbolleisten] > "Steuerelemente-Toolbox", wählst das Image-Steuerelement (Bild) aus und fügst es an die gewollte Stelle ein. Dir Größe kannst du nach deinen Vorstellungen anpassen.

Anschliessend kopierst du den nachfolgenden Code in das Klassenmodul der Mappe ein. Dazu gehst du mit einem Rechtsklick auf das Excel-Symbol das links neben [Datei] steht, und wählst "Code anzeigen", in das rechte Fenster fügst du dann den Code ein.

Wenn du die Datei nun speicherst und schliesst, wird das Bild beim öffnen geladen, vorausgesetzt das es im Verzeichnis der Mappe vorhanden ist und den selben Namen trägt. Der Code ist für ".jpg" ausgelegt, wenn du ein anderes Bildformat verwendest, musst du die entsprechende erweiterung (.gif, .png, .bmp) im Code anpassen.



' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
  Dim strFile As String
  
  If InStr(1, Me.Name, ".") > 0 Then
    strFile = Left(Me.Name, InStrRev(Me.Name, ".") - 1) & ".jpg"
    If Dir(Me.Path & "\" & strFile) <> "" Then
      Sheets("Tabelle1").Image1.Picture = LoadPicture(Me.Path & "\" & strFile)
    End If
  End If
End Sub


Gruß Sepp



  

Betrifft: AW: Bild per Pfadangabe einfügen von: strodti
Geschrieben am: 02.02.2010 16:24:11

Hallo Sepp,
ich hoffe ich antworte so richtig - mein erstes Mal!!

Vielen Dank für den code - klappt wunderbar.
Zwei Fragen noch:
Wie kann ich dem Image-Steuerelement vorgeben, dass in den Rahmen das gesamte Bild eingefügt wird, zurzeit ist nur ein Ausschnitt des Bildes zu sehen.
Wieso bläht sich die Datei so auf (von eigentlich 3 MB auf über 37 MB)?

Nochmals vielen Dank.
strodti


  

Betrifft: AW: Bild per Pfadangabe einfügen von: Josef Ehrensberger
Geschrieben am: 02.02.2010 16:36:45

Hallo Strodti,


ja dazu müssten wir MS fragen.

Ein anderer Weg. Schmeiß das Image-Steuerelement runter und erstze den Code durch den folgenden.

Dabei wird das Bild direkt in die Tabelle eingefügt, den Tabellennamen und die Zelladresse musst du anpassen.



Private Sub Workbook_Open()
  Dim strFile As String
  
  If InStr(1, Me.Name, ".") > 0 Then
    strFile = Left(Me.Name, InStrRev(Me.Name, ".") - 1) & ".jpg"
    If Dir(Me.Path & "\" & strFile) <> "" Then
      With Sheets("Tabelle1")
        .Pictures.Insert (Me.Path & "\" & strFile)
        .Shapes(.Shapes.Count).Top = Range("B2").Top
        .Shapes(.Shapes.Count).Left = Range("B2").Left
        .Shapes(.Shapes.Count).LockAspectRatio = True
        .Shapes(.Shapes.Count).Height = 100
      End With
    End If
  End If
End Sub


Gruß Sepp



  

Betrifft: AW: Bild per Pfadangabe einfügen von: strodti
Geschrieben am: 02.02.2010 17:15:40

Oh Sepp - Du göttlicher!

Vielen Dank für die Hilfe.

Wenn ich viel übe, kann ich vielleicht auch mal Dir helfen!!!!

strodti


Beiträge aus den Excel-Beispielen zum Thema "Bild per Pfadangabe einfügen"