Thema Datum  Von Nutzer Rating
Antwort
Rot Bilder Import via VBA
01.03.2013 10:23:50 Dennis
NotSolved
01.03.2013 13:13:17 Gast75993
NotSolved

Ansicht des Beitrags:
Von:
Dennis
Datum:
01.03.2013 10:23:50
Views:
1585
Rating: Antwort:
  Ja
Thema:
Bilder Import via VBA

Guten Tag,

ich hoffe hier auf Hilfe anzutreffen.

Ich versuche Bilder (EPS-Dateiformat) aus einer Datei in mein Excel-Sheet einzubinden. Pro Zeile ein Bild. Ich habe den u.g. Code, er funktioniert auch bzgl. "Dateizugriff". Allerdings werden die Bilder alle an einer Stelle platziert und nicht wie per Code-Definitionen Zeile für Zeile in eine bestimmte Spalte.

Ich wäre Ihnen sehr dankbar, wenn Sie mir weiterhelfen könnten:

Sub BilderImport()
'*********************************************************************************
'** Bilder werden in die Spalte X eingefügt. Die Bilder werden auf die  **
'** eingestellte Spaltebreite skaliert. Die Zeilenhöhe wird an die         **
'** skalierte Bildhöhe angepasst                                                     **
'*********************************************************************************

'* * Dimensionierung der Variablen
Dim strVerzeichnis$, strDatei$
Dim pct As Picture
Dim lngZeile As Long 'Zeile zum Eintragen der Bilder
Dim lngSpalte As Long 'Spalte zum Eintragen der Bilder
Dim varBreite As Variant 'Spaltenbreite
Dim varHoehe As Variant


'** Verzeichnis und Dateinamen definieren und auslesen
strVerzeichnis = "C:\XXX EPS-Datei"
strDatei = Dir(strVerzeichnis & "\*.eps")

'** Startzeile + Spalte festlegen
lngZeile = 2
lngSpalte = 4

'** Ermittlung der Spaltenbreite
varBreite = Columns("A:A").Width

Cells(lngZeile, lngSpalte).Select
Cells(lngZeile, lngSpalte + 1) = strDatei  ' schreiben Dateinamen
Set pct = ActiveSheet.Pictures.Insert(strVerzeichnis & "\" & strDatei)

'With ActiveSheet.Shapes("Picture 1")
  '** Auslesen der Breite
'  ActiveSheet.Shapes("Picture 1").Select
 ' Selection.ShapeRange.LockAspectRatio = msoTrue
 
  '** Bild auf aktuelle Spaltenbreite skalieren
  'Selection.ShapeRange.Width = varBreite
 
  '** Zeilenhöhe festlegen
  'varHoehe = ActiveSheet.Shapes("Picture 1").Height
  'Rows(lngZeile).RowHeight = varHoehe
'End With

'** Zähler für Shape definieren
shp = 2

'** Zeilenzähler erhöhen
lngZeile = lngZeile + 1


'** Bild 2 bis n durchlaufen
Do While strDatei <> ""
  strDatei = Dir()
  If strDatei = "" Then Exit Do
  Cells(lngZeile, lngSpalte).Select
  Set pct = ActiveSheet.Pictures.Insert(strVerzeichnis & "\" & strDatei)
  'ActiveSheet.Shapes("Picture " & shp).Select
  'Cells(lngZeile, lngSpalte + 1) = strDatei  ' schreiben Dateinamen
  'Selection.ShapeRange.LockAspectRatio = msoTrue
 
  'Selection.ShapeRange.Width = varBreite '* 5.355 'Bild auf Spaltenbreite skallieren
 
  '** Zeilenhöhe festlegen
 ' varHoehe = ActiveSheet.Shapes("Picture " & shp).Height
 ' Rows(lngZeile).RowHeight = varHoehe
 
  '** Zeilenzähler erhöhen
  lngZeile = lngZeile + 1
 
  '** Shape-Zahler erhöhen
  shp = shp + 1
 
Loop
End Sub


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Bilder Import via VBA
01.03.2013 10:23:50 Dennis
NotSolved
01.03.2013 13:13:17 Gast75993
NotSolved