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

Erkennen ob Datei Lokal oder über Citrix geöffnet?

Erkennen ob Datei Lokal oder über Citrix geöffnet?
03.05.2019 10:34:24
Marco
Hallo Zusammen,
Grundproblem:
ich habe einmal wieder ein komplizierteres Problem. Aufgrund verschiedener Sicherheitseinstellungen habe ich einige Makros, die auf einer lokalen Office-Version anders laufen müssen als unter Citrix.
z.B. Mailversand läuft unter Citrix nur über Sendkeys automatisiert.
Ich möchte jetzt gerne eine Abfrage in meine Makros einbauen die erkennen ob die Exceldatei im Arbeitsplatzprogramm oder unter Citrix geöffnet ist. Leider habe ich bisher keine funktionierende Lösung gefunden (Über Prozesse geht es nicht da beide Versionen parallel laufen können).
Das Einzige was evtl. ein Ansatzpunkt sein könnte - Wenn ich den Mauszeiger in der Taskleiste über das Programm halte steht dort:
- Microsoft Excel (Beim lokalen Excel)
- Microsoft Excel - \\Remote (Bei Citrix-Version)
Bei maximierten Fenstern wird das Remote leider nicht angezeigt. Daher komme ich auch nicht mit dem Auslesen des Fenstertitels zum Erfolg.
Hat vielleicht jemand von Euch eine Iddee wie ich erkennen kann in welchem Excel die Datei geöffnet ist?
Viele Grüße
Marco

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erkennen ob Datei Lokal oder über Citrix geöffnet?
03.05.2019 11:06:51
Nepumuk
Hallo Marco,
teste mal ob es über "ThisWorkbook.Path" einen Unterschied gibt.
Gruß
Nepumuk
Erkennen ob Datei Lokal oder über Citrix geöffnet?
03.05.2019 12:06:57
Marco
Hallo Nepumuk,
danke für die Antwort. Leider bringt es mit dem Pfad nichts.
Ich versuche das ganze jetzt mit Environ zu lösen.
Ich lasse mir von den Kollegen jetzt alle Environ-Variablen auslesen in beiden Systemen umd danach zu vergleichen mit welchen Werten ich am besten Arbeiten kann bzw. welche bei beiden System unterschiedlich, aber bei allen Kollegen gleich sind.
Dazu nutze ich folgendes Makro:
Sub Umgebungsvarriablen_auslesen()
Dim iIndex As Integer
Dim sResult As String
Dim sKey As String
Dim sValue As String
Dim iPos As Integer
' Environ() durchlaufen
' Beginnen mit 1
iIndex = 1
Do
' Umgebungsvariable auslesen
sResult = Environ(iIndex)
' Wird ein Leerstring zurückgegeben, so ist das
' Ende der Liste erreicht
If sResult  "" Then
' = suchen
iPos = InStr(sResult, "=")
sKey = Left$(sResult, iPos - 1)
sValue = Mid$(sResult, iPos + 1)
'der Tabelle hinzufügen
Cells(iIndex, 1).Value = sKey
Cells(iIndex, 2).Value = sValue
Cells(iIndex, 3).Value = iPos
End If
' Index um 1 erhöhen
iIndex = iIndex + 1
Loop Until sResult = ""
End 

Sub
VG
Marco

Anzeige
AW: Erkennen ob Datei Lokal oder über Citrix geöffnet?
03.05.2019 12:11:47
Nepumuk
Hallo Marco,
Umgebungsvariablen sind Computerbezogen, die haben mit der geöffneten Datei nichts zu tun.
Gruß
Nepumuk
Erkennen ob Datei Lokal oder über Citrix geöffnet?
03.05.2019 13:05:30
Marco
Hallo Nepumuk,
Es sind schon einige Variablen die sich unterscheiden. Ich habe jetzt auch die passende Lösung gefunden.
Wenn die Datei in Excel auf der lokalen Installation gestartet ist:
APClientType FAT
Wenn Excel unter Citrix also auf dem Server läuft:
APClientType XA
Es gibt noch einige andere Variablen die sich unterscheiden. Jedoch ist dieses wohl die beste für den Zweck.
Viele Grüße und ein schönes Wochenende
Marco
Application.StartupPath (owT)
03.05.2019 13:56:44
EtoPHG

Anzeige
AW: Application.StartupPath (owT)
03.05.2019 14:23:05
Marco
Dankeschön!
Werde ich auch testen.
VG
Marco
Lokal oder Citrix?
03.05.2019 16:07:50
mmat
Hallo
eigentlich meinst du doch wohl "Auf welchem Rechner läuft das Excel, das ich gerade sehe?"
Das Auslesen der Environment Variablen ist m.E. der Zielführende Ansatz. Die Variable "COMPUTERNAME" müsste die gewünschte Erkenntnis liefern.
So geht's:
Sub env()
Dim n As Long
On Error GoTo ente
For n = 1 To 100
Debug.Print Environ(n)
Next
ente:
End Sub
Man kann übrigens die Farbe des Fensterrands auf dem Citrix-App-Server (oder lokal) anders einstellen. Über das Windows Farbschema. Das find ich sehr hilfreich.
vg, MM
Anzeige
ComputerName - Problem Citrix
03.05.2019 18:03:05
EtoPHG
Hallo mmat,
Das ist IMHO der falsche Ansatz, denn bei einer Citrix-Farm müsstest du jeden einzelnen Servernamen erkennen, geschweige denn, die von 1000nden verschiedenen Clients.
Hingegen liefert Application.StartupPath immer ein lokales Laufwerk für einen Client und für einen Citrix-Client einen Servernamen in UNC-Notation!
Gruess Hansueli
AW: Lokal oder Citrix?
03.05.2019 18:19:51
Marco
Hallo MM,
ich habe das ganze über Environ gelöst.
Aufgrund der verschiedenen Server und Clients habe ich das ganze über Environ("ACPClientType") gelöst.
Dieser Wert ist auf allen Clients bzw. Server gleich so dass ich daran direkt zuordnen kann.
Wenn die Datei in Excel auf der lokalen Installation gestartet ist:
APClientType FAT
Wenn Excel unter Citrix also auf dem Server läuft:
APClientType XA
Viele Grüße
Marco
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige