Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1132to1136
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

Bild per Pfadangabe einfügen

Bild per Pfadangabe einfügen
strodti
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

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

Betreff
Benutzer
Anzeige
AW: Bild per Pfadangabe einfügen
02.02.2010 15:55:32
Josef
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

Anzeige
AW: Bild per Pfadangabe einfügen
02.02.2010 16:24:11
strodti
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
AW: Bild per Pfadangabe einfügen
02.02.2010 16:36:45
Josef
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

Anzeige
AW: Bild per Pfadangabe einfügen
02.02.2010 17:15:40
strodti
Oh Sepp - Du göttlicher!
Vielen Dank für die Hilfe.
Wenn ich viel übe, kann ich vielleicht auch mal Dir helfen!!!!
strodti

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige