函数参考


_ExcelBookSaveAs

使用新文件名或格式保存指定Excel对象的活动工作簿

#Include <Excel.au3>
_ExcelBookSaveAs($oExcel, $sFilePath [, $sType = "xls" [, $fAlerts = 0 [, $fOverWrite = 0 [, $sPassword = "" [, $sWritePassword = "" [, $iAccessMode = 1 [, $iConflictResolution = 2]]]]]]])

参数

$oExcel 由预先调用_ExcelBookOpen()或_ExcelBookNew()打开的Excel对象
$sFilePath 被读取的文件的文件名和路径
$sType [可选参数] Excel可写文件类型字符串 = "xls|csv|txt|template|html", 默认"xls"
$fAlerts [可选参数] 禁用/启用Excel消息警告的标记(0=禁用(默认), 1=启用)
$fOverWrite [可选参数] 文件存在时是否覆盖的标记(0=否, 1=是)
$sPassword [可选参数] 用于保护工作表的密码字符串; 如果为空, 不使用密码(默认)
$sWritePassword [可选参数] 工作表写入保护使用的密码字符串; 如果为空, 不使用密码(默认)
$iAccessMode [可选参数] 分配给工作簿的文件共享模式:
$xlNoChange [可选参数] 保留共享模式(默认) (数字值 = 1)
$xlExclusive [可选参数] 禁止共享(数字值 = 3)
$xlShared [可选参数] 共享可用(数字值 = 2)
$iConflictResolution [可选参数] 对于共享文件, 如何解决共享冲突:
$xlUserResolution [可选参数] 弹出对话框询问用户如何解决(数字值 = 1)
$xlLocalSessionChanges [可选参数] 接受本地用户的修改(默认) (数字值 = 2)
$xlOtherSessionChanges [可选参数] 拒绝本地用户修改(数字值 = 3)

返回值

成功: 返回 1
失败: 返回 0并设置@error
@error: 1 - 指定对象不存在
2 - 无效文件格式字符串
3 - 文件已存在但未设置覆写标记

注意/说明

只能在工作簿已被打开时另存回相同的工作路径(而不是新创建, 未保存的工作簿)

相关

示例/演示


; ***************************************************************
; 示例 1 - 打开一个新的工作表并返回其对象标识符, 然后在没有任何提示的情况下保存该文件.
; *****************************************************************

#include <Excel.au3>

Local $sFilePath1 = @ScriptDir & "\Test.xls" ;这个文件应该已经存在
Local $oExcel = _ExcelBookOpen($sFilePath1)

If @error = 1 Then
    MsgBox(4096, "错误!", "无法创建对象!")
    Exit
ElseIf @error = 2 Then
    MsgBox(4096, "错误!", "文件不存在!")
    Exit
EndIf

_ExcelBookSaveAs($oExcel, @TempDir & "\SaveAsExample", "xls");没有任何提示的情况下保存
If Not @error Then MsgBox(4096, "成功!", "文件已保存!", 3)
_ExcelBookClose($oExcel, 1, 0) ;在没有任何提示的情况下保存该文件,然后关闭.


; ***************************************************************
; 示例 2 - 打开一个新的工作表并返回其对象标识符, 然后在没有任何提示的情况下保存该文件.
;               如果文件存在则覆盖它, 并使用密码选项保护文件. 然后打开这个工作表文件,并显示密码保护.
; *****************************************************************

#include <Excel.au3>

$sFilePath1 = @ScriptDir & "\Test.xls" ;这个文件应该已经存在
$oExcel = _ExcelBookOpen($sFilePath1)

;显示打开文件时可能发生的错误提示
If @error = 1 Then
    MsgBox(4096, "错误!", "无法创建对象!")
    Exit
ElseIf @error = 2 Then
    MsgBox(4096, "错误!", "文件不存在!")
    Exit
EndIf

_ExcelBookSaveAs($oExcel, @TempDir & "\SaveAsExample2", "xls", 0, 1, "ReadOnly") ;保存为"SaveAsExample2.xls"文件
If Not @error Then MsgBox(4096, "成功!", "File was Saved!", 3)
_ExcelBookClose($oExcel, 1, 0) ;在没有任何提示的情况下保存该文件,然后关闭.

$oExcel = _ExcelBookOpen(@TempDir & "\SaveAsExample2.xls", 1, False) ;打开这个工作表文件,并显示密码保护