Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel Datei mit VBA auf individuellem Desktop speichern
#1
Hallo zusammen,

ich stehe vor folgendem Problem:

Ich habe einen Button und dieser soll die aktuelle Mappe auf dem Desktop als PDF Datei abspeichern und öffnen.
Der Name soll in dem Beispiel jetzt mal "Test" sein.
Allerdings bekommen viele unterschiedliche Leute das Dokument, d.h. der jeweilige Desktop muss jedes Mal neu gesucht werden.
Anbei mein Code - dieser funktioniert auch, benennt die Datei aber "DesktopTest"...

Ideen? :)



Als_PDF_speichern Makro
'

'

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        CreateObject("WScript.Shell").SpecialFolders("Desktop") & "Test" & ".pdf", _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True


EDIT: Es speichert es doch nicht auf dem Desktop, sondern in meinem Profil, das sollte eig. nicht so sein.
Antworten Top
#2
Moin!
Mit
Environ("UserProfile") & "\Desktop\"
landest Du auf dem jeweils aktivierten Desktop. 

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Danke erstmal.

Welchen Punkt lösche ich dafür bei mir raus? Bzw. wo setze ich diese Zeile hin?

Danke & Gruß
Antworten Top
#4
Nun,
so hast Du halt den Pfad, der zu Filename:= gehört.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Stehe ehrlich gesagt gerade etwas auf dem Schlauch und bekomme nur die Debug Fehlermeldung :/
Antworten Top
#6
(08.05.2022, 14:58)P4tt3x schrieb: Stehe ehrlich gesagt gerade etwas auf dem Schlauch ...

das geht Andern auch so. 

P4tt3x schrieb:Allerdings bekommen viele unterschiedliche Leute das Dokument, d.h. der jeweilige Desktop muss jedes Mal neu gesucht werden.

Was meinst du damit?  Sollen die unterschiedlichen Leute die Datei direkt auf Ihren Desktop bekommen?  Wie soll das gehen? Hast du überall Adminzugriff und Ordnerfreigaben?  Und sind die Rechner der Leute immer an? 
Dein Desktopordner ist immer in deinem Userprofil.   

Erleuchte uns.
Antworten Top
#7
[Hauch von Ironie]
Aha, ich bin erleuchtet!  19
Du willst also von Deinem Rechner aus eine Datei auf alle möglichen Desktops verteilen, und das Ganze gern auch mit einem Einzeiler in VBA …

Ich versuche ja auch schon seit längerem, per API zu steuern, dass von Jedem, der meine Antworten liest, automatisch 5 Euro auf mein Konto überwiesen werden.

Bei ralf_b klappt das zuverlässig ( 21
bei P4tt3x versuche ich bisher vergeblich, die Polymere dieses blöden Klebstoffs zu umgehen …

Und jetzt im Ernst:
Zitat:der jeweilige Desktop muss jedes Mal neu gesucht werden
Selbstverständlich!
Wie sollte das auch sonst gehen?
Selbst ein Virus muss erst einmal das Environment abgrasen.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Hallöchen,

Du hast auf (D)einem Rechner mehrere User?

Also mit Admin-Rechten sollte das fast kein Problem sein. Du klapperst alle Verzeichnisse unter c:\users\ durch, ausgenommen All Users, Default* und Öffentlich. Da brauchst Du auch keine API.

Ohne Admin-Rechte ginge es auch, wenn Du z.B. unter C:\Temp\ userspezifische Unterverzeichnisse anlegst und die Kollegen auf dem Desktop Verknüpfungen dorthin einrichten.

Oder die Kollegen machen eine Freigabe für Dich auf den ganzen Desktop oder schlimmstenfalls packst Du dort alles in einen Unterordner zwecks Freigabe ...

Die Verteilung machst Du dann per Script, da brauchst Du kein VBA.

Oder Du organisierst alles etwas anders, z.B. unter C:\Temp\das Programm und allgemeine Daten, und das Programm greift auf Userdaten auf dem Desktop oder wo auch immer in der Userstruktur zu.

Oder DU versendest die Excel-Datei und beim Öffnen / Ausführen wird selbige auf dem Desktop gespeichert.

Oder ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste