Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamische Pfadangabe

Dynamische Pfadangabe
20.06.2008 12:16:35
webxite
Hallo Excelfreunde,
ich habe folgendes Problem und hoffe auf eure Hilfe.
Ich würde gerne einen Dynamischen Pfad erstellen. Damit meine ich das sich jeder User (den ich auslese)
nach den Login sich verschieden Dateien speichern kann. Das Problem liegt darin das der User (der ausgelesen wird , in Name eingetragen werden soll.
Verz "C:\Documents and Settings\Name\Beispiel.xls"
Ist sowas möglich? Oder muss man das anders Lösen?
PS: mit Name ist User gemeint.
Und hier der Code:

Public Function usernamea() As String
Dim Buffer  As String * 100
Dim BuffLen As Long
Dim Datei As String
Dim Verz As String
BuffLen = 100
GetUserName Buffer, BuffLen
username_a = Left(Buffer, BuffLen - 1)
Name = username_a
frmInfo.Label4 = Name
Verz "C:\Documents and Settings\Name\Beispiel.xls"
End Function


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Pfadangabe
20.06.2008 12:43:00
Rudi
Hallo,
Verz="C:\Documents and Settings\" &Name &"\Beispiel.xls"
VBA gut? Verklickt?
Gruß
Rudi

AW: Dynamische Pfadangabe
20.06.2008 13:24:23
webxite
Ja genau verklickt Rudi!
Danke dir !

AW: Dynamische Pfadangabe
20.06.2008 13:32:00
Ramses
Hallo Rudi
EXCEL Schlüsselwörter für Funktionen dürfen/sollen nicht als Variablen verwendet werden !!
Name "C:\DeineDatei.xls" "C:\NeuerName.xls"
und schon ist das Chaos passiert.
Grundsätzlich würde ich das aber dann so lösen:
Option Explicit
Private Declare Function GUN Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Public Function ShowUsername() As String
'Verz = "C:\Documents and Settings\Name\Beispiel.xls"
'Das ist  kein Verzeichnis, sondern ein Dateiname
'und macht insofern keinen Sinn
'Ausserdem erlischt die Variable wenn das Makro fertig ist
'und ist demzufolge sinnlos
'Also müsste das zumindest so lauten, für die Dauer
'der Anwendung damit tarVerz als Variable erhalten bleibt
'und später weiterverwendet werden kann
Static tarVerz As String
Dim myFSO As Object, objShell As Object
Set myFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
'frmInfo.Label4 = ActiveUserName
If ActiveUserName  "" Then
tarVerz = "C:\Documents and Settings\" & ActiveUserName
If Not myFSO.folderexists(tarVerz) Then
MsgBox "Der Ordner :"" " & tarVerz & " "" existiert nicht.", vbCritical + vbOKOnly, " _
Fehler"
Exit Function
End If
Exit Function
End If
'Wenn kein Windows_NT und höher OS verwendet wird.
MsgBox "Das Zielverzeichnis kann nicht definiert werden", vbOKOnly, "Fehler: User unbekannt"
End Function



Public Function ActiveUserName() As String
'Benutzernamen auslesen
Dim AUN As String * 100
Dim AunLen As Byte
AunLen = 100
If GUN(AUN, Len(AUN)) Then
ActiveUserName = Left(AUN, AunLen)
Else
ActiveUserName = ""
End If
End Function


Nun kann die Variable später für "ChDrive" o.ä. verwendet werden
Gruss Rainer

Anzeige
AW: Dynamische Pfadangabe
20.06.2008 14:39:00
webxite
Hallo Rainer,
sehr interessante lösung.
Danke schön

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige