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.

VBA Pfad anpassen
#1
Hallo Community,

Ich habe hier eine Tabelle, die als Bild, in die Tabelle Mail kopiert wird.

Hier möchte ich das Bild aus Excel heraus auf den Desktop kopieren.

Habe auch einen VBA Code gefunden der das machen soll. Der Code kopiert auch was, die Frage ist wohin. 
Ich kann den Pfad anpassen, was muss ich dort eingeben, damit das Bild auf dem Desktop abgelegt wird.

sTempPfad = ThisWorkbook.Path & "\Test.gif" ' Pfad anpassen


Wenn Ihr da einen Lösungsvorschlag hättet, wäre ich sehr froh.

Vielen Dank und Gruss

Roger


Angehängte Dateien
.xlsm   Grafik-Exportieren-Versuch-3.xlsm (Größe: 33,12 KB / Downloads: 4)
Antworten Top
#2
Hallo,

es gibt den "SpecialFolder" Desktop:

ungeprüft

Code:
Set WshShell = CreateObject("WScript.Shell")
    DesktopPath = WshShell.SpecialFolders("Desktop")

mfg
Antworten Top
#3
Hallo Fennek,


Danke für die Antwort, gerade probiert, funktioniert leider nicht.
aber danke dafür.

Mit freundlichen Grüßen
Roger
Antworten Top
#4
Hallo, :19:


Code:
sTempPfad = Environ("UserProfile") & "\Desktop\Test.gif"
________
Servus
Case
Antworten Top
#5
Mit google hättest Du die beiden Lösungen von Case und Fennek, die übrigens beide funktionieren, gefunden, z.B. hier

Aber es geht auch "komplizierter", auch google

Code:
Option Explicit

Public Enum SpecialFolderIDs
 sfidDESKTOP = &H0
 sfidPROGRAMS = &H2
 sfidPERSONAL = &H5
 sfidFAVORITES = &H6
 sfidSTARTUP = &H7
 sfidRECENT = &H8
 sfidSENDTO = &H9
 sfidSTARTMENU = &HB
 sfidDESKTOPDIRECTORY = &H10
 sfidNETHOOD = &H13
 sfidFONTS = &H14
 sfidTEMPLATES = &H15
 sfidCOMMON_STARTMENU = &H16
 sfidCOMMON_PROGRAMS = &H17
 sfidCOMMON_STARTUP = &H18
 sfidCOMMON_DESKTOPDIRECTORY = &H19
 sfidAPPDATA = &H1A
 sfidPRINTHOOD = &H1B
 sfidProgramFiles = &H10000
 sfidCommonFiles = &H10001
End Enum

Private Type SHITEMID
 cb As Long
 abID As Byte
End Type

Private Type ITEMIDLIST
 mkid As SHITEMID
End Type

Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" ( _
 ByVal hwndOwner As Long, _
 ByVal nFolder As Long, _
 pidl As ITEMIDLIST) As Long

Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _
 Alias "SHGetPathFromIDListA" ( _
 ByVal pidl As Long, _
 ByVal pszPath As String) As Long

' Standard Systemordner ermitteln
Public Function GetSpecialFolder(CSIDL As _
 SpecialFolderIDs) As String

 Dim lResult As Long
 Dim IDL As ITEMIDLIST
 Dim sPath As String

 lResult = SHGetSpecialFolderLocation(100, CSIDL, IDL)
 If lResult = 0 Then
   sPath = Space$(512)
   lResult = SHGetPathFromIDList(ByVal IDL.mkid.cb, _
     ByVal sPath)
   GetSpecialFolder = Left$(sPath, InStr(sPath, _
     Chr$(0)) - 1)
 End If
End Function


Sub GetIt()
Dim sPfad
   sPfad = GetSpecialFolder(sfidDESKTOP)
End Sub
Antworten Top
#6
Hallo Case, Hallo Storax,



Ja, VBA da muß ich wohl noch viel lernen  damit das funktioniert.
Aber dank eurer Hilfe, habe ich es jetzt hinbekommen.

Danke das Ihr eure Zeit investiert habt.

Mit freundlichen Grüßen
Roger
Antworten Top


Gehe zu:


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