我有一个Delphi 7程序,它必须复制一个docx文件。我正在使用Windows API CopyFile函数。问题是这个函数似乎会对旧的doc格式进行隐藏转换。
首先:复制后文件大小增加。
第二:在Office 2007中打开文件时,我收到一条错误消息,指出:检查文档或磁盘的权限,检查可用磁盘空间。
而比奇怪的事情:如果我改变TotalCommander复制文件从docx扩展到文档它通常打开。所以它似乎使隐藏的转换不知道为什么。
测试两台不同的电脑。 Win XP Prof 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;