Bilder vom Sharepoint einfügen
#11
Zuerst mal vielen Dank für Eure Unterstützung

@snb: Das komplette Makro war im Post weiter oben. (komplette Datei) Aber am array liegt es nicht.

@ralf_b: Ich habe einfach krampfhaft gesucht und dabei den Rückgabewert übersehen. Danke für den HInweis

Ich habe also alles wieder auf Anfang gestellt und ausprobiert. 

Code:
'Dim pic As Picture, a bis d as Single
        a = Cells(rr, cc).Left + 4  'Rand der Zelle noch zu sehen
        b = Cells(rr, cc).Top + 4
        c = CellW - 8   'Zellweite
        d = CellH - 35  'Zellhöhe
       
        '"D:\FotoViewer\20210520_204856.jpg" existiert definitiv
        Temp = withSlash(Pfad) & MyArray(i) 'Pfad + Datei
       
        If Sheets("Konfig").Cells(5, 5) = "Ja" Then ms = msoTrue Else ms = msoFalse
       
        On Error Resume Next
            Set pic = ActiveSheet.Shapes.AddPicture(Temp, ms, msoTrue, a, b, c, d)
            If Err.Number <> 0 Then MsgBox Err.Description
        Err.Clear

Das Ganze funktioniert jetzt erstmal. Als Link dient die Bildunterschrift. Nur verstehe ich immer noch nicht, warum der Fehler "Typen unverträglich" bei jedem Durchlauf auftritt. Irgendwas scheint bei dem übergebenen Dateinamen zu stören. Ich setze oben Pfad und Dateiname zusammen. "ms" kann ich auch ersetzen durch "msoTrue", der Fehler bleibt. Der zweite Parameter sollte ja eigentlich einen Link erzeugen, der fehlt egal ob msoTrue oder msoFalse.

Ich habe auch 
Code:
Temp = "File:///" & withSlash(Pfad) & MyArray(i) 'Pfad + Datei

probiert, leider ohne Erfolg. Hat von Euch jemand mit " .Shapes.AddPicture" schonmal erfolgreich gearbeitet?
Heart Grüsse 

"Nur vom Geben wird man reich!" Gerhard Schöne in "Spar deinen Wein nicht auf für morgen" 
Antworten Top
#12
Hallöchen,

also, so etwas
Zitat: a bis d as Single
ist syntaktisch so was von falsch Sad Du musst jede Variable in der Regel einzeln dimensionieren (gibt eine Ausnahme)

Den Datentyp kannst Du z.B. im Überwachungsfenster ermitteln. Schreibe mal ein Testmakro z.B. mit MsgBox Cells(1,1).left und gib Cells(1,1) in die Überwachung. Dann starte es und schaue Dir dort mal die Eigenschaften an ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#13
Du bist lustig. Die Zeile mit dem DIM war nicht ohne Grund als Kommentar eingefügt: Damit jeder, der das Makro sich anschaut, sehen kann wie die Variablen deklariert sind.

Leider konntest Du zur Lösung meines Problems nichts beisteuern. Auch wenn alles als "long" deklariert ist, bleibt der beschriebene Fehler (Typen unverträglich) bei Einfügen jedes Bildes.


.xlsm   BBG§_JB_Foto_Viewer_v102.xlsm (Größe: 372,84 KB / Downloads: 1)  

Hier die letzte Version, falls wirklich sich jemand findet...
Heart Grüsse 

"Nur vom Geben wird man reich!" Gerhard Schöne in "Spar deinen Wein nicht auf für morgen" 
Antworten Top
#14
Hallöchen,
Bei Dir steht Long in der Überwachung?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#15
in der Überwachung steht variant/double Da aber in der Online-Hilfe von AddPicture steht das a bis d single sind, habe ich single gewählt.
Mein Makro habe ich jetzt mal so probiert. Der Fehler bleibt: Typen unverträglich
Code:
'Dim pic As Picture, a as Single, b as single, c as single, d as single
        a = CSng(Cells(rr, cc).Left + 4)  'Rand der Zelle noch zu sehen
        b = CSng(Cells(rr, cc).Top + 4)
        c = CSng(CellW - 8)   'Zellweite
        d = CSng(CellH - 35)  'Zellhöhe
        Temp = "File:///" & withSlash(Pfad) & MyArray(i) 'Pfad + Datei existieren: habe ich geprüft       
        On Error Resume Next
            Set pic = ActiveSheet.Shapes.AddPicture(Temp, msoTrue, msoTrue, a, b, c, d)
            If Err.Number <> 0 Then MsgBox Err.Description
        Err.Clear
Heart Grüsse 

"Nur vom Geben wird man reich!" Gerhard Schöne in "Spar deinen Wein nicht auf für morgen" 
Antworten Top
#16
Hallöchen,

ok.

Nächster Klemmer. Du fügst das Bild der Shapes-Auflistung hinzu - Set pic = ....Shapes.AddPicture...
Dimensioniert hast Du pic als Picture. Nimm mal Shape.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Elvis
Antworten Top
#17

.xlsm   BBG§_JB_Foto_Viewer_v102.xlsm (Größe: 373,12 KB / Downloads: 0)

Schauan das hat geholfen!

Ich hatte früher schonmal mit Shape probiert, da hatte ich auch Fehler. Deshalb ist mir das zuletzt nicht in den Sinn gekommen.

Vielen Dank und einen schönen Restsonntag!
Heart Grüsse 

"Nur vom Geben wird man reich!" Gerhard Schöne in "Spar deinen Wein nicht auf für morgen" 
Antworten Top
#18
Moin!
Mit Excel 365 und Internetadressen würde ich es mit =BILD() versuchen.
https://support.microsoft.com/de-de/offi...913d51f5d5?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#19
Danke Ralf. Ich werde das ausprobieren. Ich denke aber es gibt mehr Schwierigkeiten wegen der Rechte auf dem Sharepoint. Soviel ich ahne, wird hier das Bild nicht in die Datei kopiert, auch nicht als Vorschau-Bild. Dann wird nach Weitergabe und ohne Zugriff auf Sharepoint usw. nicht mehr gerendert, als kein Bild dargestellt. Genau das war das Ausgangsproblem. 

Dennoch vielen Dank!
Heart Grüsse 

"Nur vom Geben wird man reich!" Gerhard Schöne in "Spar deinen Wein nicht auf für morgen" 
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste