Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Images per VBA Laden

Images per VBA Laden
29.05.2008 22:14:00
Eddie
Meine Absicht war es, einen Bilder-Viewer zu bauen, jedoch scheiterte der Versuch an überraschender Stelle. Wichtig ist für mich, die Darstellung im Worksheet, da dort ausreichend Platz für viele Bilder ist.
Aufbau der Bilder:

Sub Bildaufbau()
Dim y&, yn&, imagestring$
Sheets("Viewer").Select
y = 10
For yn = 1 To 20
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, DisplayAsIcon:=False,   _
left:=10, Top:=y, Width:=425.25, Height:=282.75).Select
imagestring = "Image" & Trim(Str(yn))
' jetzt möchte ich ein Bild laden und die Image Optionen ändern
y = y + 400
Next yn
End Sub


Nun werden mir die Bilderforms schön nacheinander aufgebaut. Nun möchte ich aber gerne erstens die Einstellungen der Image Forms ändern und zweitens natürlich das Bild laden, das später als Variable kommen soll.
Besonders ist es für mich wichtig, in den Properties den PictureSizeMode auf 3-fmPictureSizeModeZoom zu ändern.
Wie auch immer, mir gelang es nach 20 versuchen, weder das Bild zu laden, noch irgend eine Option der Properties zu ändern.
Methode nicht unterstützt kenne ich jetzt schon auswendig :-(

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Images per VBA Laden
29.05.2008 22:24:19
Josef
Hallo Eddie,
vom Prinzip her so.
Sub Bildaufbau()
Dim objImg As Object
Dim strPath As String
Dim y&, yn&, imagestring$


strPath = "C:\Pfad zu den Bildern\" 'Verzeichnis der Bilder - Anpassen!

If Right(strPath, 1) <> "\" Then strPath = strPath & "\"

y = 10

With Sheets("Viewer")
    
    For yn = 1 To 20
        
        Set objImg = .OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, DisplayAsIcon:=False, _
            Left:=10, Top:=y, Width:=425.25, Height:=282.75)
        
        imagestring = "Image" & Trim(Str(yn))
        
        With objImg
            .Picture = strPath & imagestring
            .PictureSizeMode = 3
        End With
        
        y = y + 400
        
    Next yn
    
End With

Set objImg = Nothing
End Sub


Gruß Sepp



Anzeige
AW: Images per VBA Laden
29.05.2008 22:44:21
Eddie
Das ist wirklich eine Antwort in Rekordzeit!
Das dumme ist, es kommt nur Run-time error '438'
Object doesn't support this proberty or method
Die Debug funktion funktioniert hier nicht, so dass ich nichtmal sehen kann, welche Zeile den Fehler auslößt.
Übrigens lasse ich das Programm momentan in einem normalen Modul laufen
Besten Dank im Voraus

AW: Images per VBA Laden
29.05.2008 22:48:00
Josef
Hallo Eddie,
war wohl etws zu schnell;-))
Es muss so lauten.
With objImg.Object
    .Picture = LoadPicture(strPath & imagestring)
    .PictureSizeMode = 3
End With


Gruß Sepp



Anzeige
AW: Images per VBA Laden
29.05.2008 22:56:03
Eddie
Hallo Sepp,
ich habe Deine zweite Antwort zu spät gesehen.
L ä u f t !
Du ahnst nicht wie dankbar ich bin.
Gruß Eddie

AW: Images per VBA Laden
29.05.2008 22:53:00
Eddie
Nachtrag der Fehler wird innerhalb des With Block ausgelößt - wie zu erwarten, bzw. wie bei mir vorher auch

With objImg
.PictureSizeMode = 3 


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige