![]() |
Problem mit ShellExecute
Hi,
ich hab das ein kleines Problem mit ShellExecute: Über die Funktion
Delphi-Quellcode:
möchte ich die Datei mit Acrobat, Word, Excel oder sonst was öffnen.
ShellExecute(Handle, 'open', PAnsiChar(sProgramm), PAnsiChar(sDatei), PAnsiChar(sPfad), SW_SHOWNORMAL)
Das funktioniert auch ganz schön, aber sobal in der variablen sDatei, oder sPfad ein Leerzeichen vorkommt kann zb. Word die Datei nicht öffnen. Wie kann ich die Strings maskieren, dass das funktioniert? |
Re: Problem mit ShellExecute
Anführungszeichen (") am Anfang und Ende ergänzen.
|
Re: Problem mit ShellExecute
Mit
Delphi-Quellcode:
hab ich das ganze auch schon versucht -> klappt nicht.
ShellExecute(Handle, 'open', PAnsiChar(sProgramm), PAnsiChar(''''+sDatei+''''), PAnsiChar(''''+sPfad+''''), SW_SHOWNORMAL)
Excel zeigt mir wenigstens an, was er bekommt und auch mit den Anführungsstrichen will er mehrere Dateien öffnen. Sprich wenn ich eigentlich die Datei "A B.xls" öffnen will versucht Excel A.xls und B.xls zu öffnen. |
Re: Problem mit ShellExecute
Versuch es mal mit
Delphi-Quellcode:
...(QuotedString(sDatei))...
|
Re: Problem mit ShellExecute
Hallo,
hast du es mal mit GetShortPathName versucht?
Delphi-Quellcode:
var
ShortFileName: array [0..MAX_PATH + 1] of Char; begin GetShortPathName(PChar('...'), ShortFileName, MAX_PATH + 1); |
Re: Problem mit ShellExecute
Hi,
Mit QuotedStr hat es auch nicht funktioniert, Excel scheint immer zwei Dateien öffnen zu wollen. Sorry, ich steh da aufm Schlauch, aber was soll mir GetShortPathName bringen? |
Re: Problem mit ShellExecute
Zitat:
z.B. "Ein langer Dateiname.txt" => "EINLAN~1.TXT" Dieser Name ist eindeutig und kann bestimmt auch von dem bescheuerten Excel geöffnet werden. Mach einfach mal eine DOS-Konsole auf. Gehe in das Verzeichnis mit der jeweiligen Datei. (cd <PFAD>) Dann gibst Du ein "DIR /X". |
Re: Problem mit ShellExecute
Ich hab das jetzt mal mit
Delphi-Quellcode:
versucht, aber ShortFileName gibt mir dann nichts zurück?!
GetShortPathName(PChar(Datei), ShortFileName, MAX_PATH + 1);
Mit "dir /x" bekomm ich auch nur 'a b.xls' angezeigt. |
Re: Problem mit ShellExecute
Liste der Anhänge anzeigen (Anzahl: 2)
Also bei mir sieht das so aus wie auf den Bildern.
|
Re: Problem mit ShellExecute
Autsch, hab in der falschen Spalte geschaut.
Sorry. Werd ich auch gleich nochmal ausprobieren. was ich jetzt noch versucht habe ist
Delphi-Quellcode:
das funktioniert soweit, aber ich möchte ja die Datei mit einem bestimmten Programm öffnen und nicht nur mit dem Windows-Standard-Programm für den Dateitypen.
ShellExecute(Handle, 'open', PAnisChar(Datei), Pchar(''), PAnsiChar(Datei), SW_SHOWNORMAL)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz