Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Dateipfad und Name in Zelle eintragen
18.02.2013 18:49:00
Werner
Hallo Excel-Freunde,
ich bin auf der Suche nach einer Möglichkeit, die folgendes bewirkt:
In der ausgewählten Zelle soll der komplette Dateipfad und Name eingefügt werden.
Der User soll ein Makro starten, dann über den Explorer eine Datei auswählen,
und dieser Pfad/Name soll dann in die ausgewählte Zelle eingetragen werden.
Wenn der User eine Zelle weiter unten auswählt, soll das gleiche passieren
(z.B. mit einer anderen Datei)
Ist so etwas möglich ?
Soweit wäre mir im ersten Schritt erstmal sehr geholfen, wenn die Dateien
in einem "normalen" Ordner / LW liegen.
Die zweite Variante wäre noch die "Krönung":
Wie geht das, wenn die Dateien auf einem Sharepoint liegen ?
Gibt es dafür auch eine Möglichkeit ?
Freu mich auf Tipps für beider Lösungen :)
Besten Gruß
Werner

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateipfad und Name in Zelle eintragen
18.02.2013 19:25:23
Hajo_Zi
Hallo Werner,
' ************************************************************* _ ' Modul: Tabelle2 Typ = Element der Mappe(Sheet, Workbook, ...) ' ************************************************************** Option Explicit Private Sub _ Worksheet_SelectionChange(ByVal Target As Range) If Target = "" _ Then Target = GetAOrdner End If End Sub


' **************************************************************
' Modul: mdl_Verzeichnisbaum Typ = Allgemeines Modul
' **************************************************************

Option Explicit ' Variablendefinition erforderlich
Option Private Module ' damit Makro nicht unter Makro erscheint
Public StOrdner As String ' Projekt weit Suchordner
' von Nepumuk
Private Type InfoT
hwnd As Long
Root As Long
DisplayName As Long
Title As Long
Flags As Long
FName As Long
lParam As Long
Image As Long
End Type
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As InfoT) As Long
Private Declare Function CoTaskMemFree Lib "ole32" (ByVal hMem As Long) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" _
(ByVal lpStr1 As String, ByVal lpStr2 As String) As Long

Private Declare Function SHGetPathFromIDList Lib "shell32" _
(ByVal pList As Long, ByVal lpBuffer As String) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassname As String, ByVal lpWindowName As String) As Long

Function GetAOrdner() As String
Dim xl As InfoT, IDList As Long, RVal As Long, FolderName As String
With xl
.hwnd = FindWindow("xlmain", vbNullString)
'.hwnd = FindWindow("", "Auswahl") ' Userform Auswahl
.Title = lstrcat("Bitte wählen Sie ein Verzeichnis", "")
.Flags = 1
End With
IDList = SHBrowseForFolder(xl)
If IDList <> 0 Then
FolderName = Space(256)
RVal = SHGetPathFromIDList(IDList, FolderName)
CoTaskMemFree (IDList)
FolderName = Trim(FolderName)
FolderName = Left(FolderName, Len(FolderName) - 1)
End If
GetAOrdner = FolderName
End Function
' nicht verwendeter Code Aufruf mit
Sub test()
StOrdner = GetAOrdner ' Verzeichnis auswählen
End Sub

Anzeige
AW: Dateipfad und Name in Zelle eintragen
18.02.2013 19:49:23
Werner
Hallo Hajo
allerbesten Dank für die superschnelle Antwort !
Nur krieg ich das leider nicht zum Laufen !
Auf der einen Seite "meckert" VBA nach dem PasteCopy
...
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" _
(ByVal lpStr1 As String, ByVal lpStr2 As String) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" _
(ByVal pList As Long, ByVal lpBuffer As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassname As String, ByVal lpWindowName As String) As Long
...
und markiert mir die eingerückten Codes ...(ByVal ...)
und ich weiss nicht, wie ich den Code entsprechend anpassen muss
(VBA nur per Recorder)
Aber ich lerne ja gerne dazu :)
Könntest Du mir das mal als Datei hochladen - dann könnte ich sehen, was ich falsch gemacht habe.
Hajo - Du würdest mir einen großen Gefallen tun !
Mit bestem Dank im voraus
Werner

Anzeige
AW: Dateipfad und Name in Zelle eintragen
18.02.2013 20:37:23
Werner
Hallo Hajo
vielen Dank ! Nur habe ich hier zuhause nur 2003 :|
Mal ne andere Frage: Was meinst Du mit "... meine wöchentliche Datei..."
Gruß
Werner

AW: Dateipfad und Name in Zelle eintragen
18.02.2013 20:40:30
Hajo_Zi
Hallo Werner,
in der Datei sind alle meine Beispiel der Woche, die für die Foren erstellt wurden.Lösxchen allen Code der nicht in meinem Beitrag ist.
Gruß Hajo

Anzeige
AW: Dateipfad und Name in Zelle eintragen
18.02.2013 20:44:03
Werner
Hallo Hajo
coool ... Danke
Ich werde das mal morgen auf meinem Arbeitsplatz-Rechner ausprobieren, da habe ich 2007
Aber Dank Dir schon jetzt sehr herzlich !
Besten Gruß
Werner

AW: Dateipfad und Name in Zelle eintragen
18.02.2013 20:57:55
Hajo_Zi
Hallo Werner,
was ist noch offen? Du willst doch jetzt erst testen.
Gruß Hajo

AW: Dateipfad und Name in Zelle eintragen
18.02.2013 21:11:02
Werner
Hallo Hajo
sorry - ich wollte mit "noch offen" nur kennzeichnen,
daß ich morgen teste - und Dir dann ein Feedback geben werde.
OK - also "geschlossen" ;)
Besten Gruß
Werner

Anzeige
AW: Dateipfad und Name in Zelle eintragen
19.02.2013 12:02:05
Werner
DANKE Hajo
funktioniert
Besten Gruß
Werner

AW: Dateipfad und Name in Zelle eintragen
19.02.2013 14:54:22
Hajo_Zi
Hallo werner,
dann ist es ja Klasse, ich hatte eigentlich vermutet das ich es zu einfach gesehen habe.
Gruß Hajo

345 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige