您的代码应该可以工作;您应该检查错误代码,因为它将包含有意义的信息。
可能是权限(文件)问题、文件争用问题、坏文件夹(无效字符)等,现有文件被锁定。先看看文件/文件夹是否存在不会有什么坏处。您可以使用 FileExists(as_filename) 检查文件,也可以通过 DirectoryExists(as_directory) 检查文件夹。
你可以试试Excel8!适用于 Excel 8 或更高版本,但我认为您的 Excel!应该可以正常工作。
// Add saveastype as parameter to function
public function integer save_dw_to_file (datawindow adw_datawindow, &
string as_filename, &
string as_folder, &
SaveAsType sat_SaveType)
int li_rc
string ls_tmp_file
ls_tmp_file = as_filename
// add file extension based on saveastype
choose case sat_SaveType
case Excel!, Excel5!, Excel8!
ls_tmp_file += '_temp.xls'
case PDF!
ls_tmp_file += '_temp.pdf'
end choose
if FileExists ( ls_tmp_file ) Then
if MessageBox('File already exists','Would you like to replace: ' + &
ls_tmp_file + '?', Question!, YesNo!, 2) = 2 then
return -1
end if
end if
// save type based on parameter to function
li_rc = adw_datawindow.saveas(ls_tmp_file, sat_SaveType, true)
if li_rc = -1 then
MessageBox('Error saving file','Unable to save file: ' + ls_tmp_file)
end if
return li_rc