| |

Visual-Basic EinsteigerProbleme bei Image-Box per Schleife setzten und Bild darin laden | |  | Autor: Malocher | Datum: 15.08.08 16:07 |
| Hallo,
ich möchte in Excel per Knopfdruck eine Image-Box an vorbestimmte Positionen setzten und diese
variabel mit Bildern versehen. Das setzten der Rahmen habe ich im Schleifendurchlauf schon hinbekommen. Auch habe ich einen Weg gefunden mir die erforderlichen Bilder von der Platte auszuwählen.
Mein Problem ist, ich bekomme diese nicht an die jeweilige Image-Box übergeben. Hab schon Stunden
im Forum verbracht nur leider nichts gefunden, was mir hilft, da ich noch absoluter Laie im
Umgang mit Objekten usw. bin.
Zum besseren Verständnis poste ich mal den Code.
Über Hilfe würde ich mich sehr freuen. Danke im voraus!
Sub Schaltfläche23_BeiKlick()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim o As Integer
Dim p As Integer
Dim q As Integer
Dim r As Integer
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
' Dim oPic As StdPicture
Dim sFilename As String
Dim Bildzähler As Byte
Dim Zeilenzähler As Byte
Dim zähler As Byte
a = 0 'Position Bildspalte vom linken Rand Variable
b = 0 'Position Bildreihe vom oberen Rand Variable
c = 242.25 'Bildbreite Konstante
d = 181.5 'Bildhöhe Konstante
o = 3.75 'Position linkes Bild Konstante
p = 78.75 'Position erste Bildreihe vom oberen Rand Konstante
q = 12.75 'Abstand seitlich zwischen Bildern Konstante
r = 48 'Abstand Höhe zwischen Bildern Konstante
'Bild auswählen
With fd
.Filters.Clear
.Filters.Add "All files", "*.*"
.Filters.Add "Images", "*.bmp; *.gif; *.jpg; *.jpeg; *.tif; *.tiff", 1
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
'MsgBox "Path name: " & vrtSelectedItem
' Bild auswählen Ende
' Rahmen setzen
Bildzähler = ActiveSheet.OLEObjects.Count
Zeilenzähler = (Bildzähler + 1.5) / 2
If Bildzähler >= 2 Then
b = (Zeilenzähler - 1) * (d + r) + p
Do Until zähler = Bildzähler Or zähler > Bildzähler
zähler = zähler + 2
Loop
If zähler = Bildzähler Then
a = o
Else
a = (o + c + q)
End If
ElseIf Bildzähler = 1 Then
a = (o + c + q)
b = p
Else
a = o
b = p
End If
Bildzähler = Bildzähler + 1
sFilename = vrtSelectedItem
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _
DisplayAsIcon:=False, Left:=a, Top:=b, Width:=c, Height _
:=d).Select
' Bild laden
' immer absturz 'AddOLEObject(ClassType:="Forms.Image.1", _
'FileName:="vrtselecteditem", Left:=a, Top:=b, Width:=c, Height:=d) As Shape
Picture1.Picture = LoadPicture(sFilename) 'Hier liegt
' mein Problem. Verschiedenes Ausprobiert, aber immer
' Typenunverträglichkeiten oder fehlendes Objekt
' Bild laden Ende
Next vrtSelectedItem
Else
End If
End With
Set fd = Nothing
End Sub |  |
 Probleme bei Image-Box per Schleife setzten und Bild darin l... | 1.172 | Malocher | 15.08.08 16:07 |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Neu! sevCoolbar 3.0 
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|