Function Reference

_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"、著者: Steven Saunders and Jeff Webb、ISBN: 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

$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) ; 閉じて終わり