我得到一個Delphi 7程序,它必須複製一個docx文件。我正在使用Windows API CopyFile函數。問題是這個函數似乎會對舊的doc格式進行隱藏轉換。第一件事:複製後文件大小增加。第二:在Office 2007中打開文件時,我收到一條錯誤消息,指出:檢查您對文檔或磁盤的權限,請檢查可用磁盤空間。CopyFile docx隱藏轉換爲文檔
而不是奇怪的事情:如果我在TotalCommander中更改複製文件從docx到doc的擴展名,它通常會打開。所以它似乎使隱藏的轉換不知道爲什麼。
在兩臺不同的計算機上測試。 Win XP教授SP3,Office 2007 Prof Plus SP2
任何想法?
函數體低於:
function TDlgNowySzablon.PobierzPlikNaDoc() : string;
var
openDlg : TOpenDialog;
begin
Result:='';
openDlg:=TOpenDialog.Create(self);
openDlg.Filter:='Dokumenty Microsoft Word (*.doc;*docx)|*.doc;*.docx';
if openDlg.Execute then begin
Result := IObsSzab.GetTempFullFileName(ExtractFileExt(openDlg.FileName));
if not CopyFile(PChar(openDlg.FileName),PChar(Result),true) then begin
Result:='';
end;
end;
openDlg.Free;
end;
」首先:複製後文件大小增加。「你真的確定會發生嗎? – CodesInChaos 2011-03-07 10:15:41
Windows'CopyFile'函數不會將Microsoft Word DOCX文件轉換爲DOC。它與Microsoft Word無關。 – 2011-03-07 11:05:14