FileName
-
AnsiString richtigerpfad = StringReplace(SaveDialog1->FileName,"\\","\\\\",TReplaceFlags()<<rfReplaceAll<<rfIgnoreCase); ShowMessage(richtigerpfad); ActiveWorkBook.OleFunction("SaveAs", richtigerpfad); // "C:\\test.xls" funzt
Ich verstehs einfach nicht. wenn richtigerpfad den String "C:\\test.xls" enthält, funktioniert es trotzdem nicht?!
-
Hallo,
du brauchst die Backslashes nicht durch 2 Backslahes ersetzen (diese 2 Backslahes werden nur im Source-Code benötigt: Stichwort: Escape-Zeichen).
Also einfach
AnsiString pfad = SaveDialog1->FileName; ShowMessage(pfad); ActiveWorkBook.OleFunction("SaveAs", pfad);
-
danke, aber das hab ich schon ausprobiert. da tritt der Fehler EOleSysError auf: Falscher Variablentyp. Soll ich mal den ganzen Code posten?
-
ich habs. ich muss pfad.c_str() aus irgendeinem grund verwenden.
-
momith schrieb:
ich habs. ich muss pfad.c_str() aus irgendeinem grund verwenden.
Der Grund ist einfach. OleFunction erwartet als Parameter (char
oder (const char
und AnsiString hat keinen cast operator dafür.
mfg Martin