Excel 2003 Bild vom Laufwerk einfügen???

  • #1
S

safer

Bekanntes Mitglied
Themenersteller
Dabei seit
21.12.2001
Beiträge
348
Reaktionspunkte
0
Ort
NRW
Moin,
ich hab da eine Problemstellung bekommen, wo ich nicht weiss, wo ich anfangen soll, bzw ob es überhaupt funzt.
Folgendes Zenario:
Ich habe eine Exceldatei, in der befindet sich ein Wert ArtikelNr.
Die Artikelnummer würde in A1 stehen (z.B. 1111)
Jetzt gibt es auch ein Bild zu dem Artikel 1111. Dieses Bild heisst 1111.jpg. Das Bild sollte jetzt in B1 angezeigt werden.

Nun meine Frage, gibt es eine Möglichkeit, das Bild per Formel (Macro) in das Excelblatt zu Integrieren??
Da es sich um eine Datei mit ca. 1000 Artikel handelt, wäre es schon schön, wenn sich das per Formel oder Macro realisieren lassen würde.

Hat jemand einen Denkanstoss oder eine Lösung für mich.
Danke und Gruss
safer
 
  • #2
Hallo safer,

ich hab dir einen Makro dafür gebastelt. Probiere es auf einer Kopie deiner Datei aus.

Momentan sucht der Makro alle Bilder in einem Verzeichnis. Passe bitte das Verzeichnis zum Ausprobieren im Makro an.

Den festen Pfad könnte man noch umgehen, indem man die jpgs ab einem bestimmten Wurzel-Verzeichnis sucht. Wenn Du das benötigst, gib mir Bescheid.

Eine bestimmte Höhe/Breite, auch unterschieden zwischen Hoch- und Quer-Format, läßt sich auch noch machen. Im Augenblick sind alle Bilder auf 100 Punkte in der Höhe begrenzt.

Viel Spaß beim ausprobieren

Gruß Matjes  ;)

ps: ist ein interessantes Thema  :D
Code:
Option Explicit
'***********************************************************
Sub JPEGSEinfügenInSpalteB()
 ->Im der aktuellen Arbeitsmappe wird für
 ->alle Bezeichnungen in Splate A (z.B A1: 1111)
 ->das entsprechende Bild 1111.jpg in Spalte B eingefügt.
 ->Die Bildhöhe wird auf c_MAXBILDHOEHE begrenzt
 ->
 ->In dieser Version werden die Bilder
 ->unter einem festen Pfad erwartet
 ->
 ->Vor dem eigentlichen Bilder-Einfügen werden
 ->vorhandene Bilder in Spalte B werden gelöscht
 ->Ebenfalls Zellinhalte.
 ->
 ->Werden Bilder nicht gefunden, wird der Text
 ->'Bild nvorh.' in der Spalte B eingefügt.
 ->In der Schlußmeldung wird die Anzahl der nicht
 ->gefundenen Bilder genannt
  
  Const c_PFAD_JPGs = c:\Test_jpgs-> !!!!! ANPASSEN !!!!!!
  Const c_SPALTEQUELLE = 1   ' Splate A
  Const c_SPALTEZIEL = 2     ' Spalte B
  Const c_MAXBILDHOEHE = 100-> max. Bildhöhe in Punkten
  
  
  Dim l_rows As Long, ws As Worksheet, x As Long, s As Long
  Dim s_Bez As String, s_Bez_Full As String
  Dim l_ZaehlerBildNichtVorh As Long
  Dim o_Bild As OLEObject, d_tmp As Double, l_faktor As Double
  Dim sh As Shape
  
 ->Bilder-Pfad prüfen
  If  = Dir(c_PFAD_JPGs, vbDirectory) Then
    MsgBox (Bilder-Pfad  & c_PFAD_JPGs &  ist nicht vorhanden.)
    Exit Sub
  End If
  
  Set ws = ActiveSheet
  
  Application.ScreenUpdating = False
  
 ->alle Bilder in Spalte c_SPALTEZIEL wegräumen
  For Each sh In ws.Shapes
    If sh.TopLeftCell.Column = c_SPALTEZIEL Then sh.Delete
  Next
  
 ->Anzahl Zeilen feststellen
  l_rows = ws.Cells(ws.Rows.Count, c_SPALTEQUELLE).End(xlUp).Row
  
 ->über alle Zeilen
  For x = 1 To l_rows
    
   ->Status-Bar: momentanen Stand ausgeben
    Application.StatusBar = Bearbeiutng  & l_rows & / & x
  
   ->alten Zellinhalt entfernen
    ws.Cells(x, c_SPALTEZIEL).Value = 
    
    s_Bez = ws.Cells(x, c_SPALTEQUELLE).Value
   ->prüfen, ob Bild vorhanden
    s_Bez_Full = c_PFAD_JPGs & \ & s_Bez & .jpg
    If  = Dir(s_Bez_Full, vbNormal) Then
      ws.Cells(x, c_SPALTEZIEL).Value = Bild nvorh.
      l_ZaehlerBildNichtVorh = l_ZaehlerBildNichtVorh + 1
    Else
     ->Zelle markieren
      ws.Cells(x, c_SPALTEZIEL).Select
      
     ->Bild als Objekt einfügen
      ws.OLEObjects.Add(FileName:=s_Bez_Full, _
        Link:=False, DisplayAsIcon:=False).Select
      Set o_Bild = Selection
      o_Bild.Placement = xlFreeFloating
      o_Bild.PrintObject = True
      
     ->Bildhöhe begrenzen
      If o_Bild.Height > c_MAXBILDHOEHE Then
       ->skalieren
        l_faktor = c_MAXBILDHOEHE / o_Bild.Height
        o_Bild.ShapeRange.ScaleWidth l_faktor, msoFalse, msoScaleFromTopLeft
        o_Bild.ShapeRange.ScaleHeight l_faktor, msoFalse, msoScaleFromTopLeft
      End If
      
     ->Zeilenhöhe dem Bild anpassen
      ws.Rows(x).RowHeight = o_Bild.Height
    End If
  Next
  ws.Cells(1, c_SPALTEQUELLE).Select
  
 ->Ende-Meldung
  Application.StatusBar = 
  If l_ZaehlerBildNichtVorh > 0 Then
    MsgBox (l_ZaehlerBildNichtVorh &  Bilder wurden nicht gefunden.)
  Else
    MsgBox (Alle Bilder eingefügt.)
  End If
  
  Application.ScreenUpdating = True
Aufraeumen:
  Set ws = Nothing: Set o_Bild = Nothing
End Sub
 
  • #3
Hallo Matjes,
erstmal danke für deine schnelle Lösung.
Es funzt eigentlich so wie ich es mir vorgestellt habe. Leider nur eigentlich.
Folgendes Prob besteht jetzt noch:
Die Bilder werden im Verzeichniss Gesucht/Gefunden und Eingefügt.
Die Bilder werden aber nicht Angezeigt.  :mad:
Das einzige was ich sehen kann ist ein Icon mit der Programmzuordnung und der Dateiname. Habe in Excel schon überall herumgesucht ob es evtl. eine Einstellungs/Ansichtssache ist, bin aber nicht fündig geworden.

Hat da jemand noch ein Lösungsvorschlag?
Habe gerade festgestellt, das wenn ich die Bilder Umbenenne in *.bmp werden die Bilder Angezeigt. Als *.jpg oder *.tif leider nicht. *.bmp sind leider für meine Zwecke zu gross. Kann man in Excel irgendwo etwas einstellen, das auch *.jpgs angezeigt werden?
Danke und Gruß
safer
 
  • #4
Hallo safer,

ich hatte gestern beim Ausprobieren auch den Effekt, daß einige Bilder nur als Rahmen angezeigt wurden. Das schien dann durch das abschließende select einer anderen Zelle behoben zu sein.

Vielleicht versuchst Du noch eine Zeile einzufügen, die definitiv sagt, daß Bild soll angezeigt werden.

also bisheriger Befehl:
Code:
      o_Bild.PrintObject = True
ändern in:
Code:
      o_Bild.PrintObject = True
      o_Bild.Visible =True

Vielleicht versuchst Du das mal.

Gruß Matjes :)
 
  • #5
Matjes schrieb:
also bisheriger Befehl:
Code:
      o_Bild.PrintObject = True
ändern in:
Code:
      o_Bild.PrintObject = True
      o_Bild.Visible =True

Bringt leider nichts, trotzdem Danke

gruß
safer
 
  • #6
Hallo safer,

ich hab mir das nochmal auf meinem PC angeschaut. Da sind alle jpgs sichtbar. Auch 100.

Auf meinem PC werden die jpgs mit->Microsoft Photoeditor' angezeigt. Hast du auf deinem PC eine ähnliche Software zur Anzeige ? Oder wird nur nichts dargestellt, weil kein geeignetes Anzeigeprogamm vorhanden ist. Was passiert, wenn du einen Doppelklick auf ein Bild ausführst ?

Gruß Matjes
 
  • #7
Hallo Matjes,
da ich zur Zeit nicht in der Firma bin, habe ich es mal hier auf meinem Heim PC ausprobiert.
Unterschied: Firmen PC Office 2003
                     Heim PC Office 2000.

Auf meinem Heim PC Funzt es :)

Wenn ich auf meinem Heim PC das Bild Anklicke, steht in der Bearbeitungsleiste:
=EINBETTEN(Picture Publisher-Bildobjekt;)
Auf dem Firmen PC steht : =EINBETTEN(Paket;)

Werde am Montag mal (versuchen zu ;)) Ergründen warum das so ist. Melde mich dann.
Bis dahin schönes Wochenende
Dank und Gruss

safer

Ach ja, zu deiner Frage: Was passiert, wenn du einen Doppelklick auf ein Bild ausführst ?
Wenn ich bei Office 2003 ein Doppelklick auf das Bild ausführe, wird der Internet Explorer geöffnet, und das Bild wird angezeigt
 
  • #8
Moin,
habe jetz versucht zu ergründen warum es in Office 2003 nicht geht. :-[
Habe keine Lösung gefunden.
Habe mir in der Firma einen PC gesucht, der Office 2000 hat.
Und siehe da, es geht. ;)

Schade eigentlich, da es mit Office 2003 nicht geht. Aber trotzdem Herzlichen Dank an Matjes

Matjes schrieb:
Den festen Pfad könnte man noch umgehen, indem man die jpgs ab einem bestimmten Wurzel-Verzeichnis sucht. Wenn Du das benötigst, gib mir Bescheid.

Würde mich schon Interessieren, da die Bilder auf ca. 13 Unterordner verteilt sind.

Danke und Gruß
safer
 
  • #9
Hallo safer,

hier jetzt die Version mit Auswahl des Wurzel-Verzeichnisses.
Ein Abfrage für mit/ohne Unterverzeichnisse ist auch eingebaut.

Gruß Matjes :)

ps: noch weietere Anregungen ?

Korrektur: 14.6.2005
Errorbehandlung + Meldungen bzgl. Shapes löschen und einfügen eingebaut.
Code:
Option Explicit
' Typdeklaration für API-Dialog->Verzeichnis auswählen'
    Private Type BrowseInfo
        hOwner          As Long
        pidlRoot        As Long
        pszDisplayName  As String
        lpszTitle       As String
        ulFlags         As Long
        lpfn            As Long
        lParam          As Long
        iImage          As Long
    End Type

    Private Declare Function SHGetPathFromIDList Lib shell32.dll (ByVal pidl As Long, ByVal pszPath As String) As Long
    Private Declare Function SHBrowseForFolder Lib shell32.dll (lpBrowseInfo As BrowseInfo) As Long
'***********************************************************
' Ermittelt Verzeichnisnamen und zeigt Windows-Dialog an
Public Function VerzeichnisWählen(Optional DialogTitel) As String
    Dim StrukturVerzeichnisInfo As BrowseInfo, ListenNr As Long, Pfad As String
    Dim hWndAccessApp As Long
  
    With StrukturVerzeichnisInfo
        .hOwner = hWndAccessApp
        .lpszTitle = IIf(IsMissing(DialogTitel), Verzeichnispfad auswählen, CStr(DialogTitel))
        .ulFlags = &H1-> BIF_RETURNONLYFSDIRS
    End With
    
    ListenNr = SHBrowseForFolder(StrukturVerzeichnisInfo)
    Pfad = Space$(512)
    
    If SHGetPathFromIDList(ByVal ListenNr, ByVal Pfad) Then VerzeichnisWählen = Left(Pfad, InStr(Pfad, vbNullChar) - 1)
    
End Function
'***********************************************************
Sub JPEGSEinfügenInSpalteBMitWurzelPfadAuswahlUndSuche()
 ->Im der aktuellen Arbeitsmappe wird für
 ->alle Bezeichnungen in Splate A (z.B A1: 1111)
 ->das entsprechende Bild 1111.jpg in Spalte B eingefügt.
 ->Die Bildhöhe wird auf c_MAXBILDHOEHE begrenzt
 ->
 ->Vor dem eigentlichen Bilder-Einfügen werden
 ->vorhandene Bilder in Spalte B gelöscht
 ->Ebenfalls Zellinhalte.
 ->
 ->Werden Bilder nicht gefunden, wird der Text
 ->'Bild nvorh.' in der Spalte B eingefügt.
 ->In der Schlußmeldung wird die Anzahl der nicht
 ->gefundenen Bilder genannt
  
 ->Das WurzelVerzeichnis wird über einen Auswahldialog
 ->bestimmt. Weiterhin wird abgefragt, ob die Unterverzeichnisse
 ->auch in die Suche mit einbezogen werden sollen.
 ->Sind zu einem Bild-Namen mehrere Fundstellen vorhanden,
 ->wird abgefragt, welches Bild eingefügt werden soll.
 ->
 
 ->Const c_PFAD_JPGs = c:\Test_jpgs-> !!!!! ANPASSEN !!!!!!
  Const c_SPALTEQUELLE = 1   ' Splate A
  Const c_SPALTEZIEL = 2     ' Spalte B
  Const c_MAXBILDHOEHE = 100-> max. Bildhöhe in Punkten
  
  
  Dim l_rows As Long, ws As Worksheet, x As Long, s As Long
  Dim s_Bez As String, s_Bez_Full As String
  Dim l_ZaehlerBildNichtVorh As Long, l_ZaehlerBildNichtEingefuegt As Long
  Dim o_Bild As OLEObject, d_tmp As Double, l_faktor As Double
  Dim sh As Shape, l_AnzBildNichtGelöscht As Long
  Dim s_Pfad As String, ret As Integer, b_mitUterverzeichnissen As Boolean
  Dim s_Datei As String, l_Spalte As Long
  
 ->*** Wurzelverzeichnis abfragen
  s_Pfad = VerzeichnisWählen(Wurzel-Verzeichnis für jpg's auswählen)
  If s_Pfad =  Then Exit Sub-> Abbruch ?
  
 ->*** Abfrage mit/ohne Sub-Directories
  ret = MsgBox( _
    Sollen die Unterverzeichnisse mit in die Suche nach den jpg's einbezogen werden?, _
    vbYesNo + vbDefaultButton2 + vbQuestion, _
    Auswahl mit/ohne Unterverzeichnisse)
  If ret = vbYes Then
    b_mitUterverzeichnissen = True
  Else
    b_mitUterverzeichnissen = False
  End If
  
 ->*** na dann an die Arbeit
  Set ws = ActiveSheet
  
  Application.ScreenUpdating = False
  
 ->*** alle Bilder in Spalte c_SPALTEZIEL wegräumen
  l_AnzBildNichtGelöscht = 0
  On Error Resume Next
  For Each sh In ws.Shapes
    l_Spalte = sh.TopLeftCell.Column
    If Err.Number = 0 Then
      If l_Spalte = c_SPALTEZIEL Then
        sh.Delete
        If Err.Number <> 0 Then
          Err.Clear
          l_AnzBildNichtGelöscht = l_AnzBildNichtGelöscht + 1
        End If
      End If
    Else
      Err.Clear
    End If
  Next
  On Error GoTo 0
  If l_AnzBildNichtGelöscht > 0 Then
    MsgBox ( _
    l_AnzBildNichtGelöscht &  Bilder konnten in Spalte  & _
      c_SPALTEZIEL &  nicht gelöscht werden.)
  End If
  
  
 ->*** Anzahl Zeilen feststellen
  l_rows = ws.Cells(ws.Rows.Count, c_SPALTEQUELLE).End(xlUp).Row
  
 ->über alle Zeilen
  For x = 1 To l_rows
    
   ->Status-Bar: momentanen Stand ausgeben
    Application.StatusBar = Bearbeiutng  & l_rows & / & x
  
   ->alten Zellinhalt entfernen
    ws.Cells(x, c_SPALTEZIEL).Value = 
    
    s_Bez = ws.Cells(x, c_SPALTEQUELLE).Value
   ->Dateiname
    s_Datei = s_Bez & .jpg
    
   ->*** Datei suchen
    s_Bez_Full = jpg_DateiSuchen(s_Pfad, b_mitUterverzeichnissen, s_Datei)
        
   ->*** Datei gefunden ?
    If  = s_Bez_Full Then
     ->*** Bild nicht vorhanden
      ws.Cells(x, c_SPALTEZIEL).Value = Bild nvorh.
      l_ZaehlerBildNichtVorh = l_ZaehlerBildNichtVorh + 1
    Else
     ->*** Bild eintragen
      
     ->Zelle markieren
      ws.Cells(x, c_SPALTEZIEL).Select
      
     ->Bild als Objekt einfügen
      On Error Resume Next
      ws.OLEObjects.Add(FileName:=s_Bez_Full, _
        Link:=False, DisplayAsIcon:=False).Select
      If Err.Number <> 0 Then
        Err.Clear
        l_ZaehlerBildNichtEingefuegt = l_ZaehlerBildNichtEingefuegt + 1
        ws.Cells(x, c_SPALTEZIEL).Select
        
        ret = MsgBox(Das Bild  & s_Bez_Full & _
           konnte nicht eingefügt werden. & vbLf & vbLf & _
          Zelle:  & ws.Cells(x, c_SPALTEZIEL).Address & vbLf & _
          Wollen Sie fortfahren?, vbExclamation + vbYesNo)
          
        If ret = vbNo Then Exit For
        
      Else
        Set o_Bild = Selection
        o_Bild.Placement = xlMove->xlFreeFloating
        o_Bild.PrintObject = True
        
       ->Bildhöhe begrenzen
        If o_Bild.Height > c_MAXBILDHOEHE Then
         ->skalieren
          l_faktor = c_MAXBILDHOEHE / o_Bild.Height
          o_Bild.ShapeRange.ScaleWidth l_faktor, msoFalse, msoScaleFromTopLeft
          o_Bild.ShapeRange.ScaleHeight l_faktor, msoFalse, msoScaleFromTopLeft
        End If
        
       ->Zeilenhöhe dem Bild anpassen
        ws.Rows(x).RowHeight = o_Bild.Height
      End If
    End If
  Next
  ws.Cells(1, c_SPALTEQUELLE).Select
  
 ->Ende-Meldung
  Application.StatusBar = 
  If l_ZaehlerBildNichtVorh > 0 Or l_ZaehlerBildNichtEingefuegt > 0 Then
    MsgBox (l_ZaehlerBildNichtVorh &  Bilder wurden nicht gefunden. & vbLf & _
      l_ZaehlerBildNichtEingefuegt &  Bilder konnten nicht eingefügt werden.)
  Else
    MsgBox (Alle Bilder eingefügt.)
  End If
  
Aufraeumen:
  Application.ScreenUpdating = True
  Set ws = Nothing: Set o_Bild = Nothing
End Sub
'***********************************************************
Private Function jpg_DateiSuchen(s_Pfad As String, b_mitUterverzeichnissen As Boolean, _
                                  s_Datei As String) As String
                        
  Dim s_Bez_Full As String, x As Long
  Dim f_Bild() As String, f_Bild_cnt As Long
                    
  With Application.FileSearch
    .NewSearch
    .LookIn = s_Pfad
    .SearchSubFolders = b_mitUterverzeichnissen
    .FileName = s_Datei
    .FileType = msoFileTypeAllFiles
    If .Execute() > 0 Then
      
     ->*** Fund analysieren
      
      If .FoundFiles.Count = 1 Then
       ->ein Bild gefunden
        s_Bez_Full = .FoundFiles(1)
       ->richtigen Dateinamen gefunden ?
        If \ <> Mid(s_Bez_Full, Len(s_Bez_Full) - Len(s_Datei), 1) Then
          s_Bez_Full = ->ist nicht die gesuchte Datei
        End If
      
      ElseIf .FoundFiles.Count = 0 Then
        s_Bez_Full = 
      
      Else
       ->mehrere Bilder gefunden
        ReDim f_Bild(1 To 1): f_Bild_cnt = 0
        For x = 1 To .FoundFiles.Count
          s_Bez_Full = .FoundFiles(x)
          If \ = Mid(s_Bez_Full, Len(s_Bez_Full) - Len(s_Datei), 1) Then
            f_Bild_cnt = f_Bild_cnt + 1
            ReDim Preserve f_Bild(1 To f_Bild_cnt)
            f_Bild(f_Bild_cnt) = s_Bez_Full
          End If
        Next x
        If f_Bild_cnt = 0 Then
          s_Bez_Full = 
        ElseIf f_Bild_cnt = 1 Then
          s_Bez_Full = f_Bild(1)
        ElseIf f_Bild_cnt > 20 Then
          MsgBox ( _
            Datei: & s_Datei & vbLf & vbLf & _
            Es wurden mehr als 20 potenzielle Kandidaten für die gefunden. & vbLf & _
            --> wird übersprungen )
          s_Bez_Full = 
        Else
         ->mehrere relevante Fundstellen -> eine auswählen
          s_Bez_Full = DateiAuswaehlen(f_Bild(), f_Bild_cnt)
        End If
      End If
    Else
       s_Bez_Full = 
    End If
  End With
  
  ReDim f_Bild(1 To 1)
  jpg_DateiSuchen = s_Bez_Full->vollen Dateinamen zurueckgeben
End Function
'***********************************************************
Private Function DateiAuswaehlen(f() As String, f_cnt As Long) As String
  
  Const c_BREITE_ZEILEANGABE = 3
  
  Dim l_zaehler As Long, s_tmp As String, s_r As String
  Dim l_AnzLeerzeichen As Long, l_AnzStellen As Long, x As Long
  Dim s_Nr As String, l_Nr As Long, y As Long, s As String
  
 ->Meldung zusammenstellen
  s_tmp = Bitte geben Sie den Index der auszuwählenden Datei an & vbLf & vbLf
  
  l_zaehler = 0
  For x = 1 To f_cnt
    s_r = x
    l_AnzLeerzeichen = c_BREITE_ZEILEANGABE - Len(s_r)
    If l_AnzLeerzeichen < 0 Then l_AnzLeerzeichen = 0
    l_AnzStellen = Len(s_r)
    s_tmp = s_tmp & Format(x, String(l_AnzLeerzeichen, _) & _
                    String(Len(s_r), 0)) & vbTab & f(x) & vbLf
    l_zaehler = l_zaehler + 1
  Next
  
 ->Meldung ausgeben und Auswahl
Nochmal:
  s_Nr = InputBox( _
          s_tmp, _
          Auswahl zwischen mehreren gefundenen Dateien mit gleichem Namen, _
          )
  If s_Nr <>  Then
    For y = 1 To Len(s_Nr)
      s = Mid(s_Nr, y, 1)
      Select Case s
        Case 0 To 9->zulässig
        Case Else
          MsgBox (Bitte nur eine Zahl eingeben.)
          GoTo Nochmal
      End Select
    Next
    l_Nr = s_Nr
    If l_Nr < 0 Or l_Nr > f_cnt Then
      MsgBox (Index zu groß.)
      GoTo Nochmal
    End If
  
   ->ausgewahlte Datei
    DateiAuswaehlen = f(l_Nr)
  Else
    DateiAuswaehlen = 
  End If
End Function
 
  • #10
Hallo Matjes,
beim Ausführen des neuen Macro bekomme ich einen Fehler:
Code:
'*** alle Bilder in Spalte c_SPALTEZIEL wegräumen
 For Each sh In ws.Shapes
  If sh.TopLeftCell.Column = c_SPALTEZIEL Then sh.Delete
 Next
Wenn ich diesen Teil Ausdokumentiere läuft der Macro weiter bis
zu:
Code:
->Bild als Objekt einfügen
   ws.OLEObjects.Add(Filename:=s_Bez_Full, _
    Link:=False, DisplayAsIcon:=False).Select

Was können/sollen wir tun ?

Danke und Gruß
safer
 
  • #11
Hallo safer,

ich hab für diese Fehlermeldungen eine Error-Behandlung eingebaut (siehe oben).

Was da passiert ist mir noch nicht ganz klar. Wenn beim Einfügen Fehler auftreten, wird die Adresse der Zelle mit ausgegeben. Es würde mich interessieren, was in dieser Zelle steht oder was für ein Bild und welche Bild-Eigenschaften das verhindern.

Gruß Matjes :)
 
  • #12
Hallo Matjes,
also ich bekomme folgende Fehlermeldung:

Das Bild C:\Test_jpgs\0159_8_4610_10.jpg konnte nicht eingefügt werden.

Zelle: $B$2
Wollen Sie fortfahren?


Wenn ich fortfahre kommt die gleiche Meldung für das nächste Bild.

Wenn ich Nein wähle kommt:

1 Bilder wurden nicht gefunden.
1 Bilder konnten nicht eingefügt werden.


Das Bild ist aber definitiv vorhanden!!



Sollte es grosse umstände machen, können wir es auch bei der ersten Lösung lassen. Dann muss ich die Bilder die ich benötige halt in ein (1) Verzeichniss verschieben. Aber die letztere Lösung wäre natürlich schon schön ;)
Aber du schreibst ja:
Zitat Matjes: ps: ist ein interessantes Thema

danke und gruss

safer
 
  • #13
Hallo safer,

es wäre von Interesse, was mit der Zelle B2 los ist. Gesperrt ? Schreibschutz ? oder was anderes. Kann mann da von Hand das Bild löschen ? kann man von Hand ein Bild einfügen ?

Die Funktionalität beider Makros ist bzgl. dieser Funktionen gleich. Es müßte also auch mit dem alten Makro dieser Fehler auftauchen.

Gruß Matjes :)
 
  • #14
Hallo Matjes,
mit der Zelle ist alles in Ordnung. Nicht gesperrt, kein Schreibschutz.
Habe mal ganz bewusst nach einem Bild gesucht das es wirklich nicht gibt.
Der Macro schreibt dann in die Zelle (so wie es sein soll) Bild nvorh.

Nebenbei als ich diese antwort geschrieben habe, hab ich den Macro mal in einer anderen Exceldatei laufen lassen.
Siehe da Matjes hat,  ;D  ;) so wie wir Ihn kennen  ;D  ;) ein Funktionierendes Macro erstellt.


Kann jetzt nicht nachvollziehen warum in meiner Exceltestdatei der Fehler auftritt.
Aber ich arbeite jetzt mal mit einer neuen Datei.

Melde mich dann nochmal.
Danke und gruss

safer
 
  • #15
Hallo safer,

kannst Du mir die ersten 5 Zeilen deiner Mappe schicken. Ich bin doch sehr daran interessiert, was da schiefgeht/das Löschen verhindert.

Gruß Matjes :)
 
  • #16
Matjes schrieb:
kannst Du mir die ersten 5 Zeilen deiner Mappe schicken. Ich bin doch sehr daran interessiert, was da schiefgeht/das Löschen verhindert.
Moin Matjes,
die Datei ist unterwegs. Obwohl dort so gut wie nichts drinsteht, ist die Datei über 2,4 MB Gross. Bekomme sie auch nicht kleiner. Vielleicht liegt das problem auch dort irgendwo.
Hoffentlich geht die grosse Datei in dein Postfach.

gruß
safer
 
  • #17
Moin,
da das Thema mit Matjes hilfe gelöst wurde,
markiere ich diesen Thread mal als erledigt.

Zitat Matjes: ps: noch weitere Anregungen ?

Wie oben geschrieben ist das Thema eigentlich erledigt.
Dein Macro arbeitet sehr gut.
Anregungen etwas zu ändern hätte ich schon noch.
Ist aber nicht unbedingt erforderlich.
Solltest Du (Matjes) echt grosses Interesse an den Anregungen haben, lass es mich wissen.

Nochmals Herzlichen Dank für Deine Kompetente Hilfe.  :)

Gruß

safer

PS: Habe schon etliche Macros von Dir (Matjes) bei WT gefunden und ausprobiert. Alle super und brauchbar. Gibt es die auch irgendwo gelistet zum Download??  ;)
 
  • #18
Hi,

habe das Makro gerade mal ausprobiert, sowas habe ich schon lange gesucht.

leider tritt bei mir das 2003-Problem auch bei 2000 auf.

gibt es hierzu evtl. eine Lösung?

gruß mathias
 
  • #19
Hallo mobilefly,

welches Problem meinst du denn ?

- Anzeige-Problem wegen fehlendem Viewer

- Fehler beim einfügen der Bilder

Gruß matjes :)
 
  • #20
Hi matjes,

danke für die schnelle Antwort. Auf Seite eins wird ein Problem beschreiben, diese habe ich mit 2000 und 2003 (auch auf einem rechner wo fast nix drauf ist und ich frisch excel 2000 nochmal installiert habe, beide win xp)

auf beiden klappt das einfügen erst mal ohne Probleme, aber ich bekommen nicht die thumbnails/bilder angezeigt. es erscheinen nur die kleinen weißen objekte, wenn ich dann diese anklicke, kommt per windows bildbetrachter auch das richtige bild.

du schreibst etwas von einem viewer, da bin ich mir nicht sicher was du da meinst, werde aber gleich mal hier suchen.

ich hoffe wirklich, dein makro noch vollständig zum laufen zu bekommen... wie gesagt, schon lange etwas passendes gesucht ;-)

gruß mathias
 
Thema:

Excel 2003 Bild vom Laufwerk einfügen???

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben