XLGETDATAエクセルゲットデータ関数

本ページには広告が含まれています。

指定したセルから値を取得します。

構文
XLGETDATA( Excel, セル範囲, Column, Sheet名 )
引数
Excel (Object)必須
Excel(またはOOoのCalc)のCOMオブジェクト
セル範囲 (Integer = 現在の選択セル領域)省略可
A1形式、もしくはR1C1形式の行を指定 (省略された場合は現在の選択セル領域)
Column (Integer)省略可
R1C1形式時の列
Sheet名 (String = アクティブシート)省略可
指定シートから取得(指定がなければアクティブシート)
戻り値

範囲指定された場合は二次元配列(SafeArray)で返される(配列の基底は1から)

自作のXLGETDATA関数

Pro版でしか使えないXLGETDATA関数をFree版でも使えるように自作しました。

UWSC
FUNCTION XLGETDATA(Excel, range = EMPTY, column = EMPTY, sheetName = EMPTY)
   IF sheetName = EMPTY THEN sheetName = Excel.ActiveSheet.Name
   IFB range = EMPTY THEN
       RESULT = Excel.Worksheets(sheetName).ActiveCell.Value
   ELSEIF VAL(range) = range AND VAL(column) = column THEN
       RESULT = Excel.Worksheets(sheetName).Cells(range, column).Value
   ELSEIF Excel.Worksheets(sheetName).Range(range).Count >= 2 THEN
       r = Excel.Worksheets(sheetName).Range(range).Rows.Count
       c = Excel.Worksheets(sheetName).Range(range).Columns.Count
       RESULT = SAFEARRAY(1, r, 1, c)
       RESULT = Excel.Worksheets(sheetName).Range(range).Value
   ELSE
       RESULT = Excel.Worksheets(sheetName).Range(range).Value
   ENDIF
FEND

プログラム実行例

指定したセルから値を取得します

UWSC
DIM Excel = XLOPEN()
XLSETDATA(Excel, RANDOM(), "A1")
PRINT XLGETDATA(Excel, "A1")

//XLCLOSE(Excel, TRUE)