Value

構文
Range.Value( [RangeValueDataType] )
Range.Value( [RangeValueDataType] ) = 設定値
引数
RangeValueDataType(xlRangeValueDataType
セル範囲の値のデータ型を指定します。
戻り値

Range オブジェクトを返すメソッド・プロパティ

Excel.Range オブジェクト
セル、行、列、連続した1つ以上のセル範囲を表します。
Application.Cells プロパティ
作業中のワークシートのすべてのセルを表すRangeオブジェクトを返します。
Application.Range プロパティ
セル、行、列、連続した1つ以上のセル範囲を表します。
Range.Find メソッド
セル範囲内で特定の情報を検索します。
Range.SpecialCells メソッド
指定した種類と値に一致するすべてのセルを表すRangeオブジェクトを返します。
Range.Columns プロパティ
指定した範囲の列を表すRangeオブジェクトを返します。
Range.CurrentRegion プロパティ
現在の領域を表すRangeオブジェクトを返します。
Range.End プロパティ
対象セル範囲の領域における終端のRangeオブジェクトへの参照を返します。
Range.EntireColumn プロパティ
指定された範囲を含む1つまたは複数の列全体を表すRangeオブジェクトを返します。読み取り専用です。
Range.EntireRow プロパティ
指定されたセル範囲を含む行全体を表すRangeオブジェクトを返します。読み取り専用です。
Range.Item プロパティ
指定したセル範囲のオフセット値で指定される範囲を表すRangeオブジェクトを返します。
Range.Offset プロパティ
指定された範囲からオフセットした範囲を表すRangeオブジェクトを返します。
Range.Resize プロパティ
指定された範囲のサイズを変更します。サイズが変更されたセル範囲(Rangeオブジェクト)を返します。
Range.Rows プロパティ
指定した範囲の行を表すRangeオブジェクトを返します。
Worksheet.Range プロパティ
セル、行、列、連続した1つ以上のセル範囲を表します。

定数一覧

xlRangeValueDataType 列挙

名前説明
xlRangeValueDefault10Rangeオブジェクトが空の場合はEmpty値が返されます。Rangeオブジェクトに複数のセルが含まれているときは値の配列が返されます。
xlRangeValueXMLSpreadsheet11指定したXMLスプレッドシート形式のRangeオブジェクトの値、書式設定、数式、名前を返します。
xlRangeValueMSPersistXML12指定したXML形式のRangeオブジェクトのレコードセットの表示を返します。
CONST xlRangeValueDefault = 10
CONST xlRangeValueXMLSpreadsheet = 11
CONST xlRangeValueMSPersistXML = 12

プログラム実行例

セルに文字列を入力(A1形式)

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE

ID = GETID("Microsoft Excel")
CTRLWIN(ID, ACTIVATE)

Excel.Workbooks.Add()
Excel.Range("A1").Value = "UWSC"

// Excel.DisplayAlerts = FALSE
// Excel.Quit
    (1) (2) (4) (5) (7) (8) (8) (10) (11)
解説
  1. 1行目
    DIM Excel = CREATEOLEOBJ("Excel.Application")
    Excelオブジェクトを生成し Excel に代入します。
  2. 2行目
    Excel.Visible = TRUE
    Excelを表示します。
  3. 4行目
    ID = GETID("Microsoft Excel")
    タイトルが「Microsoft Excel」のウィンドウのIDを ID に代入します。
  4. 5行目
    CTRLWIN(ID, ACTIVATE)
    ID のウィンドウをアクティブにします。
  5. 7行目
    Excel.Workbooks.Add()
    新規ブックを作成します。
  6. 8行目
    Excel.Range("A1").Value = "UWSC"
    セルA1に「UWSC」と代入。
  7. 10行目
    // Excel.DisplayAlerts = FALSE
    終了時に確認メッセージを表示しない。
  8. 11行目
    // Excel.Quit
    Excelを終了します。

セルに文字列を入力(R1C1形式)

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE

ID = GETID("Microsoft Excel")
CTRLWIN(ID, ACTIVATE)

Excel.Workbooks.Add()
Excel.Cells(1, 1).Value = "UWSC"

// Excel.DisplayAlerts = FALSE
// Excel.Quit
    (1) (2) (4) (5) (7) (8) (8) (10) (11)
解説
  1. 1行目
    DIM Excel = CREATEOLEOBJ("Excel.Application")
    Excelオブジェクトを生成し Excel に代入します。
  2. 2行目
    Excel.Visible = TRUE
    Excelを表示します。
  3. 4行目
    ID = GETID("Microsoft Excel")
    タイトルが「Microsoft Excel」のウィンドウのIDを ID に代入します。
  4. 5行目
    CTRLWIN(ID, ACTIVATE)
    ID のウィンドウをアクティブにします。
  5. 7行目
    Excel.Workbooks.Add()
    新規ブックを作成します。
  6. 8行目
    Excel.Cells(1, 1).Value = "UWSC"
    A1セルに「UWSC」と代入する。
  7. 10行目
    // Excel.DisplayAlerts = FALSE
    確認メッセージを表示しない。
  8. 11行目
    // Excel.Quit
    Excelを終了します。

日付の連続データを入力する*

A1セルに「2021/01/01」と入力し、行方向に1日ずつ加算し2021/12/31まで入力します。

A1セルに「2021/01/01」と入力し、[フィル]→[連続データの作成]で範囲を行、種類を日付、増加単位を日、増分値を1、停止値を2021/12/31と設定するのと同様です。

CONST xlCols = 2
CONST xlChronological = 3
CONST xlDay = 1

WITH Excel.Range("A1")
	.Value = "2021/01/01"
	.DataSeries(xlCols, xlChronological, xlDay, 1, "2021/12/31")
	.EntireColumn.AutoFit
ENDWITH
    (5) (6) (7) (8)

1〜12月の連続データを作成*

WITH Excel.Range("A1")
	.Value = "1月"
	.AutoFill(.Resize(12))
ENDWITH
    (1) (2) (3) (3)

2ヶ月毎の連続データを入力*

CONST xlColumns = 2
CONST xlChronological = 3
CONST xlMonth = 3

WITH Excel.Range("A1")
	.Value = "2021/01/01"
	.DataSeries(xlColumns, xlChronological, xlMonth, 2, "2021/12/31")
	.EntireColumn.AutoFit
ENDWITH
    (5) (6) (7) (8) (8)

相対座標

DIM Excel = ExcelBoot()

WITH Excel.Range("E5")
	FOR r = -3 TO 3
		FOR c = -3 TO 3
			DIM Range = .Offset(r, c)
			Range.Value = "(" + r + ", " + c + ")"
			IF r = 0 AND c = 0 THEN Range.Value = "基準セル"
		NEXT
	NEXT
ENDWITH

//////////////////////////////////////////////////
// 【引数】
//   path : 開くファイルのパス名 
// 【戻値】
//   Excelオブジェクト 
//////////////////////////////////////////////////
FUNCTION ExcelBoot(path = "")
	DIM Excel = CREATEOLEOBJ("Excel.Application")
	Excel.Visible = TRUE
	IFB path = "" THEN
		Excel.Workbooks.Add
	ELSE
		DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
		IFB FSO.GetParentFolderName(path) = "" THEN
			path = GET_CUR_DIR + "\" + path
		ENDIF
		Excel.Workbooks.Open(path)
	ENDIF
	RESULT = Excel
FEND
    (1) (6) (7,8)
結果

指定期間のメール情報を取得(Outlook)

CONST olFolderInbox = 6
CONST xlTop = -4160
CONST xlLeft = -4131

DIM Excel = ExcelBoot()

DIM Outlook = CREATEOLEOBJ("Outlook.Application")
DIM NameSpace = Outlook.GetNameSpace("MAPI")
DIM Folder = NameSpace.GetDefaultFolder(olFolderInbox)
DIM Items = Folder.Items

DIM start = "2021/01/01"
DIM end = "2021/01/02"

Items = Items.Restrict("[ReceivedTime] >= '" + start + "' AND [ReceivedTime] < '" + end + "'")

DIM array[][1] = "受信日時", "ReceivedTime", + _
					"送信者メールアドレス", "SenderEmailAddress", + _
					"送信者", "SenderName", + _
					"CC", "CC", + _
					"BCC", "BCC", + _
					"件名", "Subject", + _
					"本文", "Body", + _
					"HTML本文", "HTMLBody"

Excel.Application.ScreenUpdating = FALSE

FOR i = 0 TO UBound(array)
	Excel.Cells(1, i + 1).Value = array[i][0]
NEXT

DIM row = 2

FOR MailItem IN Items
	FUKIDASI(row + "/" + Items.Count)
	WITH MailItem
		FOR i = 0 TO UBound(array)
			Excel.Cells(row, i + 1).Value = EVAL("." + array[i][1])
		NEXT
	ENDWITH
	row = row + 1
NEXT

WITH Excel.Range("A1").CurrentRegion
	.ColumnWidth = 20
	.RowHeight = 30
	.VerticalAlignment = xlTop
	.HorizontalAlignment = xlLeft
ENDWITH

Excel.Application.ScreenUpdating = TRUE

//////////////////////////////////////////////////
// 【引数】
//   path : 開くファイルのパス名 
// 【戻値】
//   Excelオブジェクト 
//////////////////////////////////////////////////
FUNCTION ExcelBoot(path = "")
	DIM Excel = CREATEOLEOBJ("Excel.Application")
	Excel.Visible = TRUE
	IFB path = "" THEN
		Excel.Workbooks.Add
	ELSE
		DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
		IFB FSO.GetParentFolderName(path) = "" THEN
			path = GET_CUR_DIR + "\" + path
		ENDIF
		Excel.Workbooks.Open(path)
	ENDIF
	RESULT = Excel
FEND

//////////////////////////////////////////////////
// 【引数】
//   配列 : 上限値を求める配列 
// 【戻値】
//   配列の上限値 
//////////////////////////////////////////////////
FUNCTION UBound(array[])
	RESULT = RESIZE(array)
FEND
    (5) (7) (8) (9) (9) (10) (15) (33,41) (34) (34) (34) (39) (42) (42) (42) (42) (42) (42) (42) (42) (42) (42)

アクティブセルに文字列を入力する

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

DIM Range = Excel.Application.ActiveCell
SLEEP(1.000)
Range.Value = "abc"
SLEEP(3.000)

Excel.Application.DisplayAlerts = FALSE
Excel.Quit
    (1) (2) (3) (5) (6,8) (7) (10) (11)