hvis jeg vil gemme Test.pdf under fx. C:\Documents and settings\ML\Skrivebord\Hentet.pdf virker det ikke, garanteret pga. mellemrummene i stinavnet. Jeg har forsøgt at pakke det ind i '', men det hjælper ikke... Hvad gør jeg?
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long
Public Function GetShortPath(ByVal strFile As String) As String Dim lngRet As Long Dim strPath As String strPath = String$(260, 0) lngRet = GetShortPathName(strFile, strPath, 260) GetShortPath = Left$(strPath, lngRet) End Function
Private Sub Form_Load() MsgBox GetShortPath("c:\Documents and Settings\ML\Skrivebord\Hentet.pdf") End Sub
Jeg lavede min egen GetShortPathName funktion - vil helst undgå API
Private Function GetShortPathName(LongPath As String) As String Set FSO = CreateObject("Scripting.FileSystemObject") Set MyFolder = FSO.GetFolder(LongPath) GetShortPathName = MyFolder.ShortPath Set MyFolder = Nothing Set FSO = Nothing End Function
Men du gav mig ideen - og den var rigtig, for det virker nu! Takker...
selv tak... men det med API er nok også bare mig, der ikke kan lave det med file system object.. :D
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.