Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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

Pfad

Pfad
18.11.2019 12:13:58
Antonio
Hallo Forum,
mit diesem Code:

Option Explicit
Sub Bild_einfuegen_umbenennen()
'Selektiertes Shape-Object umbenennen
Dim objShape As Object, objShape2 As Shape
Dim Zelle As Range
Dim strAuswahl As String, strMsgText As String, NameOld As String
On Error GoTo Fehler
Set Zelle = Application.InputBox(prompt:="Bitte Einfügezelle für kopiertes Bild wählen", _
Title:="Bild kopieren", Default:=ActiveCell.Address, Type:=8)
Application.GoTo Reference:=Zelle, Scroll:=False
ActiveSheet.Paste
Set objShape = Selection
objShape.Top = Zelle.Top + 1
objShape.Left = Zelle.Left + 1
NameOld = objShape.Name
strMsgText = "Bitte Namen des selektierten Bildes anpassen" & vbLf _
& "Aktueller Name: " & NameOld
Eingabe:
strAuswahl = VBA.InputBox(strMsgText, Title:="Bild umbenennen", Default:=NameOld)
If strAuswahl  "" Then
For Each objShape2 In ActiveSheet.Shapes
If LCase(objShape2.Name) = LCase(strAuswahl) Then
strMsgText = "Der eingegebene Name ist bereits vorhanden." & vbLf _
& "Bitte Namen des eingefügten Bildes anpassen" & vbLf _
& "Aktueller Name: " & NameOld
GoTo Eingabe
End If
Next
objShape.Name = strAuswahl
End If
Fehler:
If Err.Number  0 Then
If Err.Number = 424 Then
'Zellselektion wurde abgebrochen
Else
MsgBox "Fehler-Nr.: " & Err.Number & vbLf & Err.Description & vbLf _
& "Vor Start des Makros muss ein Bild kopiert werden!", _
vbInformation, _
"Makro - ChangeName_of_SelectedShape"
End If
End If
End Sub

Füge ich Bilder aus Ordner in einer Tabelle und kann ich die Bilder auch umbenennen.
Mein Problem, ich würde gerne eine fest Adresse eingeben können im Makro, leider finde ich nicht die relevante Zeile.
Kann mir bitte jemand helfen und sagt oder schreibt im Code an welche Stelle ein Pfad angegeben werden kann.
Vielen Dank im Voraus
Antonio

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad
18.11.2019 12:18:09
Nepumuk
Hallo Antonio,
eine fest Adresse für was?
Gruß
Nepumuk
AW: Pfad
18.11.2019 12:26:41
Antonio
hi Nepumuk, danke dir für dir Rückmeldung.
ich möchte gerne das wenn ich den Makro starte, das der Ordner wo die Bilder sind gleich geöffnet wird, also sowas in der Art:
Dim Pfad as String
Pfad= "C:/........../Bilder.jpg
Ich finde im Code (von mir gepostet) keine Hinweis auf OpenFileDialog, um es zu ändern.
Antonio
AW: Pfad
18.11.2019 13:13:16
Antonio
..... oder ich verstehe den Code nicht....
AW: Pfad
18.11.2019 13:24:38
peterk
Hallo
Dein Code macht nur ein "Paste", d.h. das Bild wurde bereits vorher kopiert (wo oder wie auch immer ;-)
Peter
AW: Danke auch an peterk
18.11.2019 13:54:00
Antonio
;-)
Anzeige
AW: Pfad
18.11.2019 13:30:43
Nepumuk
Hallo Antonio,
teste mal:
Option Explicit

Public Sub Bild_einfuegen_umbenennen()
    Dim objShape As Object, objShape2 As Shape
    Dim Zelle As Range, objFileDialog As FileDialog
    Dim strAuswahl As String, strMsgText As String, NameOld As String, strPath As String
    On Error GoTo Fehler
    Set Zelle = Application.InputBox(prompt:="Bitte Einfügezelle für kopiertes Bild wählen", _
        Title:="Bild kopieren", Default:=ActiveCell.Address, Type:=8)
    Set objFileDialog = Application.FileDialog(msoFileDialogFilePicker)
    With objFileDialog
        .AllowMultiSelect = False
        With .Filters
            If .Count > 0 Then Call .Delete
            Call .Add("Bilder", "*.bmp,*.jpg,*.gif", 1)
        End With
        .ButtonName = "Einfügen"
        .InitialFileName = "G:\Eigene Dateien\Eigene Bilder\" 'Hier dein Pfad !!!
        .InitialView = msoFileDialogViewLargeIcons
        If .Show Then
            strPath = .SelectedItems(1)
        Else
            Set objFileDialog = Nothing
            Exit Sub
        End If
    End With
    Set objShape = ActiveSheet.Shapes.AddPicture(Filename:=strPath, LinkToFile:=msoFalse, _
        SaveWithDocument:=msoTrue, Left:=Zelle.Left + 1, Top:=Zelle.Top + 1, Width:=-1, Height:=-1)
    NameOld = objShape.Name
    strMsgText = "Bitte Namen des selektierten Bildes anpassen" & vbLf _
        & "Aktueller Name: " & NameOld
    Do
        strAuswahl = InputBox(strMsgText, Title:="Bild umbenennen", Default:=NameOld)
        If strAuswahl <> "" Then
            For Each objShape2 In ActiveSheet.Shapes
                If LCase$(objShape2.Name) = LCase$(strAuswahl) Then
                    strMsgText = "Der eingegebene Name ist bereits vorhanden." & vbLf _
                        & "Bitte Namen des eingefügten Bildes anpassen" & vbLf _
                        & "Aktueller Name: " & NameOld
                    Exit For
                End If
            Next
            If objShape2 Is Nothing Then Exit Do
        End If
    Loop
    objShape.Name = strAuswahl
    Set Zelle = Nothing
    Set objFileDialog = Nothing
    Set objShape = Nothing
    Exit Sub
    Fehler:
    If Err.Number = 424 Then
        'Zellselektion wurde abgebrochen
    Else
        MsgBox "Fehler-Nr.: " & Err.Number & vbLf & Err.Description & vbLf _
            & "Vor Start des Makros muss ein Bild kopiert werden!", _
            vbInformation, _
            "Makro - ChangeName_of_SelectedShape"
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Pfad
18.11.2019 13:52:47
Antonio
YYYEEAAHHH....
Danke Nepumuk genau das wollte ich haben
Vielen Dank
Antonio

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige