Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Speicherpfad für PDF

Begonnen von TiSei, März 01, 2024, 08:37:43

⏪ vorheriges - nächstes ⏩

TiSei

Hallo Zusammen,

ich möchte einen Bericht aus einem Formular heraus als PDF speichern. Ich habe folgenden Pfad angegeben:

="C:\Users\900\Downloads\ " & [HF Materialnummer] & ".pdf"
Das funktioniert auch soweit. Jetzt möchte ich aber, weil die Datenbank auf einem Server abgelegt wird, dass die PDF bei demjenigen im Download-Ordner gespeichert wird, der die Datenbank benutzt.
Ist das möglich? Und wenn ja, wie muss der Pfad geändert werden.

Könnt ihr mir helfen?

Danke im Voraus.

Beaker s.a.

Den User(namen?) kannst du doch genauso einbauen wie die Materialnummer.
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.

PhilS

Zitat von: Beaker s.a. am März 01, 2024, 18:36:56Den User(namen?) kannst du doch genauso einbauen wie die Materialnummer.
Dazu muss man ihn erstmal haben. - Außerdem geht es hier ja nicht (nur) um den Usernamen, sondern um den Pfad zum Downloads-Ordner.

Zitat von: TiSei am März 01, 2024, 08:37:43Jetzt möchte ich aber, weil die Datenbank auf einem Server abgelegt wird, dass die PDF bei demjenigen im Download-Ordner gespeichert wird, der die Datenbank benutzt.
Du kannst die Environ-Funktion verwenden, um Systemvariablen des aktuellen Benutzers abzurufen.
Damit kommst du einfach an den Pfad zu dem Speicherort des Profils des aktuellen Benutzers (%USERPROFILE%).
Häufig, aber nicht immer(!), ist der Downloads-Ordner einfach das Verzeichnis "Downloads" im Userprofile.
Also so ermittelbar "erratbar":
    Dim DownloadsFolderPath As String
    DownloadsFolderPath = Environ("UserProfile") & "\Downloads"

Für den Downloads-Ordner gibt es keine einfache Systemvariable. Zuverlässig lässt sich der Downloads-Ordner über die Shell-API ermitteln, aber das kann ich nicht spontan aus dem Hut zaubern.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Gibt es keine Tabelle mit den Userdaten?
Da kann ich den Pfad doch fest hinterlegen, - kopieren aus dem Explorer.
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.

PhilS

Zitat von: Beaker s.a. am März 02, 2024, 12:19:49Gibt es keine Tabelle mit den Userdaten?

Da kann ich den Pfad doch fest hinterlegen, - kopieren aus dem Explorer.
Eine benutzerabhängige Windowseinstellung manuell in einer Tabelle dauerhaft speichern?
Es soll ja Firmen mit mehreren tausend Mitarbeitern geben, da wäre das eine tages- bis wochenfüllendene Aufgabe, die du da vorschlägst. - Wenn du fertig bis, kannst du dann auch gleich wieder vor vorne anfangen, weil der Pfad ja auch geändert werden kann. ;-)
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Hallo Philip,

Da habe ich wohl zu pragmatisch gedacht. Aber wieso ändert sich
der Pfad?
Das ist doch ein Systemordner, der beim Anlegen eines Users autom.
angelegt wird. Ich dachte, dass das dann immer "C:\Benutzer\User\Downloads"
ist.

gruss ekkehard
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.

PhilS

Zitat von: Beaker s.a. am März 02, 2024, 17:41:47Das ist doch ein Systemordner, der beim Anlegen eines Users autom.
angelegt wird.
Ich dachte, dass das dann immer "C:\Benutzer\User\Downloads"
ist.
"C:\Benutzer\User\" ist der Standardwert für das Userprofile von Windows. Ein Administrator kann einen anderen Standardwert vorgeben; das ist in größerem Unternehmensnetzwerken nicht unüblich.
Unabhängig vom Standardwert, kann man für jeden einzelnen Benutzer das Userprofile an einen anderen Ort verschieben. Entweder im AD, oder für lokale Benutzer unter "Computer Management" - "Local Users..." - "Properties" eines Accounts.
Das Userprofile nachträglich zu verschieben, kommt sicherlich selten vor, ist aber bei meinen Kunden im Rahmen von Änderungen an der IT-Struktur durchaus schon passiert.

Darüber hinaus kann jeder Benutzer auch den besagten Downloads-Ordner jederzeit, unabhängig vom Userprofile, an eine andere Stelle verlegen. Das geht einfach über das UI (Settings) der meisten Webbrowser. Dabei wird in der Regel nicht nur der Ordner für den jeweiligen Browser geändert, sondern der benutzerabhängige, systemweite Downloads-Ordner. (Geht über die oben bereits erwähnte Shell-API.)
Das kommt erfahrungsgemäß aus verschiedenen Gründen häufiger mal vor.


Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Danke für Lehrstunde in Windows.
Ich muss sagen, dass ich mich mit der Benutzerverwaltung nie beschäftigen musste.
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.