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

Anwendung öffnen mit Environ("Username")

Anwendung öffnen mit Environ("Username")
27.03.2020 18:21:50
elRamin
Hallo
ich arbeite an einem Netzwerkrechner und habe eine freigegebene Exceldatei auf die mehrere Mitarbeiter zugreifen und Einträge vornehmen.
Nun habe ich eine Schaltfläche erstellt die ein externes Programm öffnet.
Das funktioniert aber nur mit mein User, nun möchte ich das Programm aber über die Schaltfläche auch von anderen User ausführen lassen ohne das ich die User ID im Makro hinterlegen will.
So funktioniert es ja schon mal:

Sub Statistik_öffnen()
Dim sha
Set sha = CreateObject("Shell.application")
'sha.Open "C:\Users\i6wsmp\Desktop\Statistik Erfassung 5.6.lnk"
End Sub

Jetzt dachte ich mir ich versuche es dann mal so:

Sub Statistik_öffnen()
Dim sha
Dim pfad
UID = Environ("Username")
Set sha = CreateObject("Shell.application")
pfad = Environ("Username") \ "Desktop\Statistik Erfassung 5.6.lnk"
sha.Open pfad
End Sub

Und noch einige andere Varianten probiert aber bis jetzt hat nichts wirklich geklappt.
gibt es da eine Lösung oder geht das gar nicht.
Ich möchte keine Msg Box wo der User steht öffnen oder den User in eine Excel Datei in eine Zelle schreiben lassen.
Danke für Eure Hilfe
Grüße elRamin

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anwendung öffnen mit Environ("Username")
27.03.2020 18:43:42
mumpel
Hast Du den Backslash versehentlich an die falsche Stelle gesetzt? "USERPROFILE" ist richtig.
Environ("USERPROFILE") "\Desktop\Statistik Erfassung 5.6.lnk"
Korrektur
27.03.2020 18:45:15
mumpel
Environ("USERPROFILE") & "\Desktop\Statistik Erfassung 5.6.lnk"
AW: Korrektur
27.03.2020 19:00:26
elRamin
Hallo mumpel,
danke für die Antwort so habe ich schon mal keine Fehlermeldung aber das Programm öffnet sich nicht.
Gruß
elRamin
AW: Korrektur
27.03.2020 19:11:08
mumpel
Bist Du sicher, dass der Pfad korrekt ist und die Verknüpfung überall den selben Namen hat?
AW: Korrektur
27.03.2020 19:24:03
elRamin
Ja der Pfad ist richtig und die Verknüpfung hat bei jedem den selben Namen.
Damit öffnet sich eine Datenbank.
Gruß
elRamin
Anzeige
AW: Korrektur
27.03.2020 19:25:41
mumpel
Möglicherweise haut eine fehlende Berectigung dazwischen.
AW: Korrektur
27.03.2020 19:35:21
elRamin
Ah ok, naja wenn ich mein Username direkt ins Makro schreibe dann funktioniert es ja.
Und wenn er selber den Namen ausliest hatte ich gedacht das wird auch gehen ohne zu wissen welcher User die Datei gerade bearbeitet. Mit dem Button soll ja nur die Datenbank geöffnet werden mehr nicht.
Aber danke für deine Hilfe und ich habe ja schon mal den Erfolg das ich mit deiner Variante keine Fehlermeldung bekomme. :)
Gruß
elRamin
AW: Korrektur
27.03.2020 19:36:33
mumpel
Hast Du schon versucht die Anwendung direkt zu öffnen?
Sub OpenLnk()
  Shell "msaccess " & Environ("USERPROFILE") & "\Desktop\Database51.lnk", vbMaximizedFocus
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Anzeige
AW: Anwendung öffnen mit Environ("Username")
27.03.2020 18:45:05
Nepumuk
Hallo elRamin,
in welchem Pfad liegt die Datei? Environ("Username") gibt nämlich den Anmeldenamen in Windows zurück, das kann nicht funktionieren.
Gruß
Nepumuk
AW: Anwendung öffnen mit Environ("Username")
27.03.2020 18:57:26
elRamin
Hallo Nepumuk,
die Datei liegt bei jeden User auf C:\Users\entsprechender User Name (meiner:i6wsmp)\Desktop\...
So funktioniert es ja: aber nur bei mir.
Sub Statistik_öffnen()
Dim sha
Set sha = CreateObject("Shell.application")
'sha.Open "C:\Users\i6wsmp\Desktop\Statistik Erfassung 5.6.lnk"
End Sub
Gruß
elRamin
Anwendung öffnen mit Environ("Username")
28.03.2020 14:28:37
Anton
Hallo elRamin,
probier's hiermit:
Code in Zwischenablage:

Sub b()
  Dim WshShell As Object, fso As Object  
  Dim link_name As String, oFolder  
  link_name = "\Photo Impression 6.lnk"  'anpassen
 'link_name = "\Statistik Erfassung 5.6.lnk"
  Set fso = CreateObject("Scripting.FileSystemObject")  
  Set WshShell = CreateObject("WScript.Shell")  
  For Each oFolder In WshShell.SpecialFolders  
    If InStr(1, LCase(oFolder), "desktop") <> 0 Then    
      If fso.fileexists(oFolder & link_name) Then  
        CreateObject("Shell.application").Open oFolder & link_name  
        Exit For  
      End If  
    End If  
  Next
  Set fso = Nothing  
  Set WshShell = Nothing  
End Sub

mfg Anton
Anzeige
AW: Anwendung öffnen mit Environ("Username")
28.03.2020 15:06:40
Daniel
Hi
Du musst den Pfad schon richtig zusammenbauen:
Pfad = "C:\Users" & Environ("Username") & "\Desktop\Statistik Erfassung 5.6.lnk"
Dann würde ich erstmal mit Dir(Pfad) "" prüfen, ob die Datei vorhanden ist bevor sha.Open ausgeführt wird.
Habt ihr alle das gleiche Windows?
Bei unterschiedlichen Windowsvarianten kann der Desktop-Pad unterschiedlich sein.
Gruß Daniel
Korrektur
28.03.2020 15:09:29
Daniel
Pfad = "C:\Users\" & Environ("Username") & "\Desktop\Statistik Erfassung 5.6.lnk"
Backslash nach Users bitte noch einfügen.
Gruß Daniel
Anzeige
AW: Korrektur
28.03.2020 16:38:58
elRamin
Hallo an alle,
Vielen Dank für die Hilfe, Daniels Tipp war genau der richtige.
Danke dir Daniel, so funktioniert es super.
Gruß elRamin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige