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