指定した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 - 列が無効です |
注意
このコマンドで使用可能なフォーマット文字列に関する情報については次の書籍を調べてください。
関連
例
; ***************************************************************
; 例 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
$sFormat = "$#,##0.00" ;フォーマット文字列で_ExcelNumberFormatに$通貨への変換を設定
_ExcelNumberFormat($oExcel, $sFormat, 1, 1, 5, 5) ;1行1列目から5行5列目まで
MsgBox(0, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 上書き設定でtempディレクトリに保存
_ExcelBookClose($oExcel) ; 閉じて終わり
; ***************************************************************
; 例 2 - ワークブックを開きオブジェクト識別子取得後、ループを使ってセルに書き込む。数値をフォーマット後、保存して閉じる。
; *****************************************************************
#include <Excel.au3>
Local $oExcel = _ExcelBookNew() ;新しいブックを作成して表示
Local $aFormatExamples[5] = ["Format Examples", "General", "hh:mm:ss", "$#,##0.00", "[Red]($#,##0.00)"] ;ヘッダー作成用配列
For $i = 0 To UBound($aFormatExamples) - 1 ;Use loop to write headers
_ExcelWriteCell($oExcel, $aFormatExamples[$i], 1, $i + 1) ; 0始まりのインデックスと行をあわせるために$iに+1する
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 ;列が綺麗に見えるようAutoFits
$oExcel.Rows.AutoFit ;行が綺麗に見えるようAutoFits
MsgBox(0, "Exiting", "Press OK to Save File and Exit")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; 上書き設定でtempディレクトリに保存
_ExcelBookClose($oExcel) ; 閉じて終わり