函数参考


_ExcelNumberFormat

在指定 R1C1 范围应用特定格式的单元格.

#Include <Excel.au3>
_ExcelNumberFormat($oExcel, $sFormat, $sRangeOrRowStart [, $iColStart = 1 [, $iRowEnd = 1 [, $iColEnd = 1]]])

参数

$oExcel 由预先调用_ExcelBookOpen()或_ExcelBookNew()打开的Excel对象
$sFormat 应用到指定范围的格式化字符串(见下方备注)
$sRangeOrRowStart A1范围, 或者在使用R1C1格式时的整数行数
$iColStart [可选参数] 数字格式开始列(左)
$iRowEnd [可选参数] 数字格式结束行(底)
$iColEnd [可选参数] 数字格式结束列(右)

返回值

成功: 返回 1
失败: 返回 0, 并设置 @error:
@error: 0 - 无错误
1 - 指定的对象不存在
2 - 起始行或列无效
3 - 结束行或列无效
@extended: 0 - 行无效
1 - 列无效

注意/说明

关于此命令可使用的格式, 可查阅::
"Programming Excel With VBA and .NET," by Steven Saunders and Jeff Webb, 书号: 978-0-59-600766-9

相关

示例/演示


; ***************************************************************
; 示例 1 - 打开一个工作簿并返回其对象标识符后, 在循环中写入内容到单元格.  对数字进行格式化设置, 然后保存并关闭文件.
; *****************************************************************

#include <Excel.au3>

Local $oExcel = _ExcelBookNew() ;创建新工作簿, 并使其可见

; 我们在单个循环中使用随机数填充一些单元格
For $y = 1 To 10
    For $x = 1 To 10
        _ExcelWriteCell($oExcel, Random(1000, 10000), $x, $y) ;写入到文件的一些随机数
    Next
Next

Local $sFormat = "$#,##0.00" ;格式字符串告知 _ExcelNumberFormat 把它格式化成美元 ($) 货币
_ExcelNumberFormat($oExcel, $sFormat, 1, 1, 5, 5) ;从第 1 行, 第一列开始到第 5 行第 5 列结束

MsgBox(4096, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 现在我们把它保存到临时目录; 必要时覆盖文件
_ExcelBookClose($oExcel) ; 最后我们关闭并退出

; ***************************************************************
; 示例 2 - 打开一个工作簿并返回其对象标识符后, 在循环中写入内容到单元格.  对数字进行格式化设置, 然后保存并关闭文件.
; *****************************************************************

#include <Excel.au3>

$oExcel = _ExcelBookNew() ;创建新工作簿, 并使其可见
Local $aFormatExamples[5] = ["Format Examples", "General", "hh:mm:ss", "$#,##0.00", "[Red]($#,##0.00)"] ;创建由标题组成的数组

For $i = 0 To UBound($aFormatExamples) - 1 ;在循环中写入标题
    _ExcelWriteCell($oExcel, $aFormatExamples[$i], 1, $i + 1) ; 给 $i 加 1 这样基于 0 的索引可以与行匹配
Next

; 我们在单个循环中使用随机数填充一些单元格
For $y = 2 To 5 ;从第 2 列开始
    For $x = 2 To 10
        _ExcelWriteCell($oExcel, Random(1000, 10000), $x, $y) ;写入到文件的一些随机数
    Next
Next

ToolTip("Formatting Column(s) Soon...")
Sleep(3500) ;暂停以便用户查看操作

; 我们可以在一个简单的循环中进行格式化
; 每列将使用不同的格式类型
For $i = 1 To UBound($aFormatExamples) - 1
    _ExcelNumberFormat($oExcel, $aFormatExamples[$i], 2, $i, 11, $i)
Next

$oExcel.Columns.AutoFit ;自动调整列以获得更佳视图
$oExcel.Rows.AutoFit ;自动调整行以获得更佳视图

MsgBox(4096, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 现在我们把它保存到临时目录; 必要时覆盖文件
_ExcelBookClose($oExcel) ; 最后我们关闭并退出