Einzelnen Beitrag anzeigen

Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#2

Re: Lange Pfade in Kurze (Tilded) "DOS" Pfade umwa

  Alt 15. Dez 2005, 17:26
Hi !
Falls Office installiert ist findest Du unter

"C:\Programme\Microsoft Office\Office\Samples\SAMPLES.XLS"

ein brauchbares Beispiel in VB.

Delphi-Quellcode:
Private Declare Function GetShortPathName Lib "KERNEL32.DLL" Alias "GetShortPathNameA" _
                                                            (ByVal lpctstrLongName As String, _
                                                            ByVal lptstrShortName As String, _
                                                            ByVal bufLen As Long) As Long

Sub Get_Short_Name()
    Dim LongStr As String, ShortStr As String
    Dim lStrLen As Long, lRet As Long
    
    'LongStr ist irgend ein langer Dateiname.
'ShortStr ist der hierzu definierte Name, der der
    ' DOS-Namenskonvention (8+3 Zeichen)genügt.

LongStr = ThisWorkbook.FullName
lRet = GetShortPathName(LongStr, ShortStr, lStrLen)
'Mit dem folgenden Befehl legen wir einen Puffer an,
    'der genauso lang ist wie die zurückgegebene Zeichenkette.
'Damit ersparen wir uns, die Zeichenkette links abschneiden
    'zu müssen.
ShortStr = String(lRet, " ")
lRet = GetShortPathName(LongStr, ShortStr, lRet)
MsgBox LongStr & " entspricht dem Kurzen Namen " & ShortStr
End Sub
Otto
  Mit Zitat antworten Zitat