Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1460to1464
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
Inhaltsverzeichnis

Grafik einfügen mit Verzeichnisvorgabe

Grafik einfügen mit Verzeichnisvorgabe
01.12.2015 10:47:18
Olli
Hallo Zusammen
Benötige mal eine kleine Unterstützung mit folgendem Quellcode.
Möchte in eine selektierte Zelle über Application.Dialogs(xlDialogInsertPicture)
eine Grafik einfügen. Dies funktioniert auch soweit (s. Quellcode)
Was ich nicht hinkriege ist, das bei Application.Dialogs(xlDialogInsertPicture).Show nicht in ein vorgegebenes Verzeichnis gesprungen wird.
Habe es schon mit chdir und chdrive probiert aber leider ohne Erfolg.
Sub Bild_einfügen()
Dim x, rngS As Range
Set rngS = Selection
'Laufwerk und Verzeichnis bestimmen
ChDrive D:
ChDir "D:\Temp\"
'Dialogform aufrufen
x = Application.Dialogs(xlDialogInsertPicture).Show
'Bild in markierter Zelle einfügen
If x  False Then
With Selection
.Top = rngS.Top
.Left = rngS.Left
.ShapeRange.Width = rngS.Width
.ShapeRange.LockAspectRatio = False
.Placement = xlMoveAndSize
End With
Else
'Wenn kein Bild ausgewählt wurde ->MSgbox Meldung
MsgBox "No image selected!! "
End If
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik einfügen mit Verzeichnisvorgabe
01.12.2015 18:33:43
Sepp
Hallo Olli,
die eingebauten Dialoge sind nicht sehr flexibel, bei xlDialogInsertPicture, kannst du den Pfad nicht vorgeben.
Versuch es mal so.
Sub Bild_einfügen()
Dim strFile As String
Dim objPic As Picture
Dim rngS As Range

Set rngS = Selection

With Application.FileDialog(msoFileDialogFilePicker)
  .InitialFileName = "E:\Forum"
  .Title = "Bilddatei auswählen"
  .ButtonName = "Bild Einfügen"
  .InitialView = msoFileDialogViewList
  .Filters.Clear
  .Filters.Add "Excel Dateien", "*.xls; *.xlsx; *.xlsm", 1
  .Filters.Add "Text Dateien", "*.txt; *.csv", 2
  .Filters.Add "Grafik Dateien", "*.jpg; *.gif; *.png; *.bmp", 3
  .Filters.Add "Alle Dateien", "*.*", 4
  .FilterIndex = 3
  If .Show = -1 Then strFile = .SelectedItems(1)
End With

If Len(strFile) Then
  Set objPic = Tabelle1.Pictures.Insert(strFile)
  With objPic
    .Top = rngS.Top
    .Left = rngS.Left
    .ShapeRange.Width = rngS.Width
    .ShapeRange.LockAspectRatio = False
    .Placement = xlMoveAndSize
  End With
Else
  'Wenn kein Bild ausgewählt wurde ->MSgbox Meldung
  MsgBox "No image selected!! "
End If


Set rngS = Nothing
Set objPic = Nothing
End Sub

Gruß Sepp

Anzeige
Statt Tabelle1
01.12.2015 18:39:29
Sepp
... solltest du
Set objPic = rngS.Parent.Pictures.Insert(strFile)

schreiben!
Gruß Sepp

AW: Statt Tabelle1
02.12.2015 10:48:03
Olli
Hallo Sepp
Hat alles funktioniert!!
War eine sehr gute Unterstützung.
Gruß Olli

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige