Collapse column

Autor Thema: Office 2010: Bild Anzeigen durch Artikelnummer  (Gelesen 545 mal)

Offline enronHB

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Office 2010: Bild Anzeigen durch Artikelnummer
« am: Juli 15, 2017, 18:51:55 Nachmittag »
Moin moin,

ich habe bereits viel Google befragt, viel herum Probiert und weiß das das häufigste Problem der Nutzer selbst ist ;-)

ich komme dennoch nicht weiter. Und bin Neuling in dem Bereich.

Ich möchte durch das eingeben einer Artikelnummer ein Bild anzeigen lassen. Aus einem Ordner vom Server. Das soll unter Excel 2010 laufen. Und Windows.

Der Code sieht so aus:

Public Function ZeigeBild(ByVal strBildname As String, Bildhöhe As Long) As String

Dim strDatei As String
Dim Bildbreite As Double
Dim Bildhoehe As Double
Dim meinBild
Dim strZielzelle As String

strZielzelle = Application.Caller.Address

strDatei = C:\Users\Ordner\BILDER\" & strBildname & ".jpg"

If Dir(strDatei) <> "" Then
Set meinBild = LoadPicture(strDatei)
Bildbreite = meinBild.Width
Bildhoehe = meinBild.Height

ActiveSheet.Shapes.AddPicture strDatei, msoFalse, msoTrue, Range(strZielzelle).Left, Range(strZielzelle).Top, Bildhöhe * 28.35 * Bildbreite / Bildhoehe, Bildhöhe * 28.35
ZeigeBild = "Bild"
Else
ZeigeBild = "Bild nicht vorhanden"
End If

End FunctionREM ***** BASIC *****


Und in der Zelle in der das Bild gezeigt werden soll:

=ZEIGEBILD(C4;3)

In dieser Zelle C4 würde die Artikelnummer eingegeben. Die genauso lautet wie der Name den Bildes ohne Endung .jpg im Ordner.

Leider Funktioniert es nicht. Ich erhalte auch nicht mehr die Meldung "Bild nicht vorhanden" Was zuerst immerhin noch kam. (Ohne Änderungen gemacht zu haben.)

Kann jemand einen Tipp geben Bitte?

Danke bis hierhin für die mühe.

MfG

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw:Office 2010: Bild Anzeigen durch Artikelnummer
« Antwort #1 am: Juli 16, 2017, 11:56:13 Vormittag »
Hallo,

LoadPicture funktioniert in diesem Kontext nicht. Versuche mal folgenden Code, etwas umorganisiert...

Code: Visual Basic
  1.   Option Explicit
  2.  
  3. ' Konstanten...
  4.  
  5.   Public Const CST_BILDORDNER As String = "C:\Users\Ordner\BILDER"
  6.   Public Const CST_BILDTYP    As String = "jpg"
  7.  
  8. ' Funktion...
  9.  
  10.   Public Function ZEIGEBILD(Bildname As String, Bildhoehe As Long) As String
  11.    
  12.     Dim objBild   As Object
  13.     Dim objZelle  As Range
  14.     Dim strBild   As String
  15.    
  16. '   Fehler abschalten...
  17.    
  18.     On Error Resume Next
  19.    
  20. '   Caller...
  21.    
  22.     Set objZelle = Application.Caller
  23.    
  24. '   Prüfen...
  25.    
  26.     If Not objZelle Is Nothing Then
  27.    
  28. '     Bild...
  29.      
  30.       strBild = CST_BILDORDNER & Application.PathSeparator & _
  31.                 Bildname & "." & CST_BILDTYP
  32.      
  33. '     Existenz...
  34.      
  35.       If Len(Dir(strBild)) > 0 Then
  36.        
  37. '       Einfügen...
  38.        
  39.         Set objBild = objZelle.Parent.Pictures.Insert(strBild)
  40.        
  41. '       Position...
  42.        
  43.         If Not objBild Is Nothing Then
  44.          
  45. '         Position...
  46.          
  47.           objBild.Left = objZelle.Left
  48.           objBild.Top = objZelle.Top
  49.          
  50. '         Größe...
  51.          
  52.           objBild.Width = Bildhoehe * 28.35 * objBild.Width / objBild.Height
  53.           objBild.Height = Bildhoehe * 28.35
  54.          
  55. '         Text...
  56.          
  57.           ZEIGEBILD = "Bild"
  58.          
  59.         Else
  60.          
  61.           ZEIGEBILD = "Objektfehler"
  62.          
  63.         End If
  64.        
  65.       Else
  66.        
  67.         ZEIGEBILD = "Bild nicht vorhanden"
  68.        
  69.       End If
  70.      
  71.     Else
  72.      
  73.       ZEIGEBILD = "Objektfehler"
  74.      
  75.     End If
  76.    
  77. '   Reset...
  78.    
  79.     Set objBild = Nothing
  80.     Set objZelle = Nothing
  81.    
  82.   End Function
  83.  

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.