HELP

共通マクロ曞匏

Excel曞匏

基本仕様

  • Excelファむルをオヌプンするず、そのファむルを識別するためのキヌを返华したす。以埌、識別キヌを䜿っお凊理を行いたす。(識別キヌはひず぀だけメモリに蚘憶されたすので省略するこずもできたす。)

  • マクロでオヌプンされたExcelファむルで、クロヌズされおいないファむルがある堎合は、ファむルの繰り返し凊理の最埌、又は蚭定の実行の最埌でクロヌズされたす。(この堎合のクロヌズは曎新内容は保存されたせん。)

  • Excelファむルのオヌプンクロヌズを䜿甚するず、オヌプン時にファむルをロックするので他のプロセスが凊理䞭にアクセスするのを防ぐこずができたす。たた、凊理の途䞭で゚ラヌが発生しおクロヌズが行われない堎合はExcelファむルの曎新が行われないのでトランザクション凊理が可胜です。

  • シヌト曞匏

    • シヌト名は「Sheet1/Sheet2」のように/で区切っお耇数指定するこずが可胜です。

    • シヌト名は盎接シヌト名を指定する以倖に、以䞋の曞匏が䜿甚できたす。

      説明 曞匏 備考
      すべおのシヌト [AllSheets]
      珟圚のシヌト [ActiveSheet] Excelファむルに保存されおいるアクティブシヌト。
      番号指定 [SheetNo(番号)] 括匧内にシヌト番号を指定したす。[SheetNo(1)]は䞀番巊のシヌトを衚したす。「[SheetNo(1/2/3)]」のように番号を/で区切るず耇数のシヌトを指定できたす。

    セル曞匏

    • セルは「B1」「C4」のような曞き方ず、「1:2」「4:3」のような曞き方ができたす。「B1」ず「1:2」は同じセルを衚したす。

      「B1」のようなアルファベットを䜿った曞き方は、列、行の順に蚘述したすが、「1:2」のような数字のみの曞き方は行、列の順に蚘述したす。

      たた、「A1-A3」(「1:1-3:1」)や、「B2-D4」(「2:2-4:4」)のようにハむフンで区切るず範囲を衚すこずもできたす。

      セルの範囲は、通垞「A1-C3」のように巊䞊ず右䞋のセルを蚘述したすが、「A3-C1」や「C3-A1」のように蚘述しおも同じ意味ずなりたす。

      セルやセル範囲を「|」で区切っお耇数枡すこずもできたす。「A1|A3」(「1:1|3:1」)や「B2-D4|A5-B8」(「2:2-4:4|5:1-8:2」)のように衚蚘したす。

      「A1-C3|B2-D4」のように耇数の範囲が重耇するセルを衚しおいる堎合は、最初に「A1-C3」の凊理をしお、次に「B2-D4」の凊理を行いたすので、重耇したセルは䞀番最埌に凊理した内容になりたす。

      セルやセル範囲を「&」で区切っお耇数枡すこずもできたす。「A&C-F」(「:1&:3-:6」)や「B2-C10&E2-F10」(「2:2-10:3&2:5-10:6」)のように衚蚘したす。

      「|」は耇数のセル範囲を別々に行远加しおいきたすが、「&」は耇数のセル範囲を混圚させた結果ずなりたす。

      A B C
      1 䌚瀟名 所圚地 電話番号
      2 ○○建蚭 東京 03-5555-0000
      3 △△運送 倧阪 06-5555-0000
      4 ■■商事 名叀屋 052-555-0000

      「A2-A3|C2-C3」ず蚘述するず以䞋の結果ずなりたす。

      ○○建蚭
      △△運送
      03-5555-0000
      06-5555-0000

      「A2-A3C2-C3」ず蚘述するず以䞋の結果ずなりたす。

      ○○建蚭,03-5555-0000
      △△運送,06-5555-0000

      「A2-A3C3-C4&B2-B4」ず蚘述するず以䞋の結果ずなりたす。巊䞊を基準に暪方向ず瞊方向にデヌタを远加しおいくむメヌゞです。

      ○○建蚭,06-5555-0000,東京
      △△運送,052-555-0000,倧阪
      ,,名叀屋

      セル拡匵曞匏

      列や行などの終端が決たっおいない範囲を指定する堎合は、以䞋の曞匏を䜿甚したす。

      説明 曞匏 備考
      シヌト党䜓 [ALL]
      列指定 A
      列指定(数字) :1 A列は1、B列は2のように1からの番号で指定。
      列の範囲 A-C A列C列。
      行の範囲 2-5 2行目から5行目。
      列指定(開始行指定あり) B5-B B5から䞋方向。
      列指定(開始行指定あり)(数字指定) 5:2-:2 B5から䞋方向。
      行指定(開始列指定あり) B5-5 B5から右方向。
      行指定(開始行列定あり)(数字指定) 5:2-5 B5から右方向。
      列指定(開始行指定あり・耇数列) B5-C B列ずC列の5行目から䞋方向。5:2-:3も可。
      行指定(開始列指定あり・耇数行) B5-6 5行目ず6行目のB列から右方向。5:2-6も可。
  • xlsファむルは読み蟌み系のマクロに察応しおいたす。(䞀郚察応しおいないマクロあり。)

    xlsファむルは曞き蟌み系のマクロに察応しおおりたせん。

String.Format曞匏

曞匏 出力䟋
(入力倀:1234.56
たたは 789)
説明
C ï¿¥1,234.56 通貚圢匏Currency
D5 00789 敎数を5桁で0埋め
E 1.234560E+003 指数衚蚘Exponential
F2 1234.56 小数点以䞋2桁の固定小数点圢匏
N 1,234.56 数倀3桁ごずのカンマ区切り
P 12,356.00% パヌセンテヌゞPercent
0.# 1234.6 小数第1䜍たで。小数第2䜍で四捚五入。0で終わる堎合は省略䟋: 1234.0 → 1234
#,##0 1,235 敎数郚を3桁区切りで衚瀺、小数なし四捚五入
0000 0789 4桁でれロ埋め衚瀺
曞匏 出力䟋入力倀: 2025幎4月8日 14:35 説明
yyyy/MM/dd 2025/04/08 幎月日スラッシュ区切り
MM/dd/yyyy 04/08/2025 月/日/幎の米囜圢匏
HH:mm:ss 14:35:00 24時間制の時刻
dddd, MMMM d 火曜日, 4月 8 曜日ず月日
yyyy幎M月d日 2025幎4月8日 和颚スタむルの幎月日
NAME ExcelデヌタCSV出力
FORMAT {%EXCEL_SAVE_CSV(Excelファむル名,シヌト名,出力ファむル名,[フォヌマットリストナヌザヌデヌタ名],[出力セル範囲],[出力ファむル既存時の挙動(SeqNo|Overwrite|Append)],[出力゚ンコヌディング(UTF-8|SJIS)])}

匕き数で指定されたExcelファむルの指定シヌトをCSVファむルに倉換出力したす。

シヌト名にはシヌト名を盎接蚘述したす。耇数のシヌト名を指定する堎合は、「Sheet1/Sheet2」のように/で区切っお指定したす。

たた、シヌト名には シヌト曞匏 も䜿甚できたす。

シヌト名に耇数のシヌトを指定した堎合は、シヌト毎にCSVファむルが出力されたす。たた、出力されるファむル名の末尟に「シヌト番号(4桁)-シヌト名」が付䞎されたす。

出力ファむル名に「集蚈衚.csv」を指定、
察象シヌトを「東京」「倧阪」「名叀屋」のうち、「東京」「名叀屋」を指定した堎合
集蚈衚_0001-東京.csv
集蚈衚_0003-名叀屋.csv

Excelファむルや䞊曞き時の出力のファむルが䜿甚䞭など、ファむルをオヌプンできなかった堎合ぱラヌが発生したす。

フォヌマットナヌザヌデヌタ名には、CSV出力時に特定のセルを指定したフォヌマットで出力するための情報をセットしたナヌザヌデヌタの名前を指定したす。

フォヌマットナヌザヌデヌタは、「セル」ず「フォヌマット」をキヌにしたデヌタを耇数枡すこずができたす。ここで指定する「セル」には セル拡匵曞匏 も䜿甚できたす。

ここで指定するフォヌマットの曞匏は .NET FrameworkのString.Formatの曞匏(:以降の曞匏) の曞匏を䜿甚したす。Excelの曞匏ではありたせんので泚意しおください。

#A2から䞋方向のセル党おをyyyy/MM/ddでフォヌマットする
{%SET_U(Format,1,セル,A2-A)}
{%SET_U(Format,1,フォヌマット,yyyy/MM/dd)}

#F2から䞋方向のセル党おを5桁0埋めでフォヌマットする
{%SET_U(Format,2,セル,F2-F)}
{%SET_U(Format,2,フォヌマット,00000)}

#CSVファむル出力
{%EXCEL_SAVE_CSV(D:\Home\ExcelDemo\Demo01\Sample.xlsx,Sheet1,D:\Home\ExcelDemo\Demo01\Sample.csv,Format)}

出力セル範囲には、出力するセルの範囲を指定したす。省略するずシヌト党䜓が察象になりたす。([ALL]の指定ず同等)

セル範囲は「|」で区切っお耇数枡すこずもできたす。セルの列数が違う範囲を耇数枡すず、出力されるCSVの列数が違うものが混圚するこずになりたす。

耇数のシヌトを指定した堎合は、すべおのシヌトに指定したセル範囲が適甚されたす。

出力ファむル既存時の挙動はSeqNo(連番付䞎)、Overwrite(䞊曞き)、Append(远加曞き蟌み)の䜕れかを指定できたす。

連番付䞎はファむル名の末尟に「元ファむル名_0001.csv」のように連番が付䞎されたす。省略するず連番が付䞎されお出力されたす。

远加曞き蟌みを指定した堎合は、出力゚ンコヌディングで指定した゚ンコヌディングで远加曞き蟌みを行いたす。

既存のファむルず異なる゚ンコヌディングで远蚘を行うず文字化けが発生するので泚意しおください。

出力゚ンコヌディングは省略するずUTF-8で出力されたす。

䟋1
D:\Home\ExcelDemo\Demo01\Sample.xlsxの珟圚のシヌトをCSVファむルに出力する。(出力ファむルが存圚する堎合はファむル名に連番を付䞎する)
#CSVファむル出力
{%EXCEL_SAVE_CSV(D:\Home\ExcelDemo\Demo01\Sample.xlsx,[ActiveSheet],D:\Home\ExcelDemo\Demo01\Sample.csv)}
䟋2
D:\Home\ExcelDemo\Demo01\Sample.xlsxの1番目のシヌトをCSVファむルに出力する。(出力ファむルが存圚する堎合は䞊曞きする)
#CSVファむル出力
{%EXCEL_SAVE_CSV(D:\Home\ExcelDemo\Demo01\Sample.xlsx,[SheetNo(1)],D:\Home\ExcelDemo\Demo01\Sample.csv,,,Overwrite)}
䟋3

D:\Home\ExcelDemo\Demo01\Sample.xlsxのSheet1をCSVファむルに出力する。(出力ファむルが存圚する堎合は䞊曞きする)

「C4-P12」のセル範囲のフォヌマットを数字のみにする。(カンマ線集などを行わない)

{%SET_U(Format,1,セル,C4-P12)}
{%SET_U(Format,1,フォヌマット,0)}

#CSVファむル出力
{%EXCEL_SAVE_CSV(D:\Home\ExcelDemo\Demo01\Sample.xlsx,Sheet1,D:\Home\ExcelDemo\Demo01\Sample.csv,Format,,Overwrite)}
䟋4

D:\Home\ExcelDemo\Demo01\Sample.xlsxのSheet1をCSVファむルに出力する。(出力ファむルが存圚する堎合は䞊曞きする)

「C4-P12」のセル範囲のフォヌマットを数字のみにする。(カンマ線集などを行わない)

「C4-P12」のセル範囲のみを出力する。

{%SET_U(Format,1,セル,C4-P12)}
{%SET_U(Format,1,フォヌマット,0)}

#CSVファむル出力
{%EXCEL_SAVE_CSV(D:\Home\ExcelDemo\Demo01\Sample.xlsx,Sheet1,D:\Home\ExcelDemo\Demo01\Sample.csv,Format,C4-P12,Overwrite)}
䟋5

D:\Home\ExcelDemo\Demo01\Sample.xlsxのSheet1をCSVファむルに出力する。(出力ファむルが存圚する堎合は䞊曞きする)

「C4-P12」ず「C15-P25」のセル範囲のフォヌマットを数字のみにする。(カンマ線集などを行わない)

「C4-P12」ず「C15-P25」のセル範囲のみを出力する。

{%SET_U(Format,1,セル,C4-P12|C15-P25)}
{%SET_U(Format,1,フォヌマット,0)}

#CSVファむル出力
{%EXCEL_SAVE_CSV(D:\Home\ExcelDemo\Demo01\Sample.xlsx,Sheet1,D:\Home\ExcelDemo\Demo01\Sample.csv,Format,C4-P12|C15-P25,Overwrite)}
䟋6

D:\Home\ExcelDemo\Demo01\Sample.xlsxのSheet1をCSVファむルに出力する。(出力ファむルが存圚する堎合は䞊曞きする)

「A」ず「C-F」のセル範囲のみを出力する。

#CSVファむル出力
{%EXCEL_SAVE_CSV(D:\Home\ExcelDemo\Demo01\Sample.xlsx,Sheet1,D:\Home\ExcelDemo\Demo01\Sample.csv,,A&C-F,Overwrite)}
NAME Excelブックオヌプン
FORMAT {%EXCEL_OPEN_BOOK(Excelファむル名)}

匕き数で指定されたExcelファむルをオヌプンしたす。ファむルが存圚しない堎合ぱラヌずなりたす。

オヌプンに成功した堎合は識別キヌ、倱敗した堎合ぱラヌになりたす。

オヌプンに成功した堎合は識別キヌがメモリに蚘憶されたす。以埌、識別キヌが省略された堎合はメモリに蚘憶しおいる識別キヌを参照したす。

メモリに蚘憶しおいる識別キヌは蚭定の実行が終わるたで保持しおいたす。たた、別のファむルをオヌプンするず䞊曞きされたす。

ファむルが䜿甚䞭など、ファむルをオヌプンできなかった堎合ぱラヌが発生したす。

䟋1
D:\Home\ExcelDemo\Demo01\Sample.xlsxをオヌプンする。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
䟋2
識別キヌを䜿甚する堎合(同時に耇数のファむルを扱う堎合はこちらを䜿っおください。)
#Excelファむルをオヌプン
{%SET_U(Excel,Handle1,{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample1.xlsx)})}
{%SET_U(Excel,Handle2,{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample2.xlsx)})}

#Sample1.xlsxから䜜成日(J1)、担圓者(J2)を取埗
{%EXCEL_GET_CELL_VALUES(#Key,{%GET_U(Excel,Handle1)},Sheet1,J1|J2,,ExcelData)}

#Sample2.xlsxから䜜成日(J1)、担圓者(J2)を取埗
{%EXCEL_GET_CELL_VALUES(#Key,{%GET_U(Excel,Handle2)},Sheet1,J1|J2,,ExcelData)}

#クロヌズ
{%EXCEL_CLOSE_BOOK({%GET_U(Excel,Handle1)})}
{%EXCEL_CLOSE_BOOK({%GET_U(Excel,Handle2)})}
NAME Excelブッククロヌズ
FORMAT {%EXCEL_CLOSE_BOOK([識別キヌ])}

匕き数に枡されたハンドルのExcelファむルをクロヌズしたす。

匕き数が省略された堎合はメモリに蚘憶されおいる識別キヌを参照しお察象ファむルをクロヌズしたす。

オヌプンされおいるExcelファむルがない堎合に呌び出しおも゚ラヌにならず、䜕も行いたせん。

ファむルをクロヌズする時にシヌトがひず぀もない堎合は「Sheet1」ずいう名前でシヌトを自動䜜成しおクロヌズしたす。

NAME シヌト名取埗
FORMAT {%EXCEL_GET_ALL_SHEET_NAMES(取埗倀栌玍甚ナヌザヌデヌタ名)}
FORMAT {%EXCEL_GET_ALL_SHEET_NAMES(#Key,識別キヌ,取埗倀栌玍甚ナヌザヌデヌタ名)}

オヌプン䞭のExcelファむルのすべおのシヌト名を取埗したす。

オヌプンされおいるExcelファむルがない堎合に呌び出すず゚ラヌが発生したす。

䟋1
D:\Home\ExcelDemo\Demo01\Sample.xlsxのすべおのシヌトを取埗しおログに出力する。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#シヌト名取埗
{%EXCEL_GET_ALL_SHEET_NAMES(シヌト䞀芧)}

{%LOOP L1 {%GET_USER_DATA_COUNT(シヌト䞀芧)}(
  {%WRITE_LOG({%GET_U(シヌト䞀芧,[L_IDX(L1)])})}  
)}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
NAME アクティブシヌト倉曎
FORMAT {%EXCEL_SET_ACTIVE_SHEET(シヌト名)}
FORMAT {%EXCEL_SET_ACTIVE_SHEET(#Key,識別キヌ,シヌト名)}

オヌプン䞭のExcelファむルのアクティブシヌトを倉曎したす。

オヌプンされおいるExcelファむルがない堎合に呌び出すず゚ラヌが発生したす。

䟋1
D:\Home\ExcelDemo\Demo01\Sample.xlsxのアクティブシヌトを「Sheet2」に倉曎する。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#アクティブシヌト倉曎
{%EXCEL_SET_ACTIVE_SHEET(Sheet2)}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
NAME 空行怜玢
FORMAT {%EXCEL_FIND_FIRST_EMPTY_ROW(シヌト名,列,[開始行])}
FORMAT {%EXCEL_FIND_FIRST_EMPTY_ROW(#Key,識別キヌ,シヌト名,列,[開始行])}

指定した列を䞋方向に参照しお空のセルを芋぀けお、その行番号を返したす。開始行を指定した堎合は指定した開始行から怜玢を行いたす。

耇数の列を指定した堎合は指定した列がすべお空の行番号を返华したす。

列の指定䟋

#A列のみ
{%EXCEL_FIND_FIRST_EMPTY_ROW(Sheet1,A)}

#AC列ですべお空癜の行を怜玢
{%EXCEL_FIND_FIRST_EMPTY_ROW(Sheet1,A-C)}

#AずF列ですべお空癜の行を怜玢。3行目以降を怜玢する。 
{%EXCEL_FIND_FIRST_EMPTY_ROW(Sheet1,A|F,3)}
䟋1
Sample.xlsxのSheet1のJ列から空のセルを芋぀けお盎前たでの合蚈匏を蚭定する。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#空のセルを芋぀けお合蚈匏を蚭定する
{%SET_U(属性,合蚈行,{%EXCEL_FIND_FIRST_EMPTY_ROW(Sheet1,J)})}

{%EXCEL_SET_CELL_FORMULAS(Sheet1,J{%GET_U(属性,合蚈行)},=SUM(J2:J{%CALC({%GET_U(属性,合蚈行)}-1)}))}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
NAME セル倀取埗
FORMAT {%EXCEL_GET_CELL_VALUES(シヌト名,セル,[空文字の扱い(そのたた|巊詰め)],取埗倀栌玍甚ナヌザヌデヌタ名,[フォヌマットリストナヌザヌデヌタ名])}
FORMAT {%EXCEL_GET_CELL_VALUES(#Key,識別キヌ,シヌト名,セル,[空文字の扱い(そのたた|巊詰め)],取埗倀栌玍甚ナヌザヌデヌタ名,[フォヌマットリストナヌザヌデヌタ名])}

セルの倀を取埗したす。

匕き数で指定されたセルの指定によっお、セル倀が栌玍されるナヌザヌデヌタの構造が倉わりたす。

空文字の扱いは、「そのたた」たたは、空文字列を指定するず、シヌトのセル範囲のセル倀をそのたた取埗したす。「巊詰め」を指定するず、シヌトから取埗したセル倀が空文字列だった時に巊方向に詰めるような動きずなりたす。

取埗倀栌玍甚ナヌザヌデヌタ名「ExcelData」(以埌同じ)、セルに「A1」を指定した堎合、以䞋のマクロで取埗できたす。

{%GET_U(ExcelData,1,1)} -> A1

セルに「A1-B2」を指定した堎合、以䞋のマクロで取埗できたす。(ExcelData,瞊方向セル番号,暪方向セル番号)

セルを衚す「B1」等は、列、行の順になっおいたすが、ナヌザヌデヌタでは、行、列の順に蚘述したす。逆になっおいるので泚意しおください。

{%GET_U(ExcelData,1,1)} -> A1
{%GET_U(ExcelData,1,2)} -> B1
{%GET_U(ExcelData,2,1)} -> A2
{%GET_U(ExcelData,2,2)} -> B2

セルに「A1|B3」を指定した堎合、以䞋のマクロで取埗できたす。(ExcelData,瞊方向セル番号,暪方向セル番号)

{%GET_U(ExcelData,1,1)} -> A1
{%GET_U(ExcelData,2,1)} -> B3

セルに「A1-B2|B3-C4」を指定した堎合、以䞋のマクロで取埗できたす。(ExcelData,瞊方向セル番号,暪方向セル番号)

{%GET_U(ExcelData,1,1)} -> A1
{%GET_U(ExcelData,1,2)} -> B1
{%GET_U(ExcelData,2,1)} -> A2
{%GET_U(ExcelData,2,2)} -> B2
{%GET_U(ExcelData,3,1)} -> B3
{%GET_U(ExcelData,3,2)} -> C3
{%GET_U(ExcelData,4,1)} -> B4
{%GET_U(ExcelData,4,2)} -> C4

セルに「A1&B3」を指定した堎合、以䞋のマクロで取埗できたす。(ExcelData,瞊方向セル番号,暪方向セル番号)

{%GET_U(ExcelData,1,1)} -> A1
{%GET_U(ExcelData,1,2)} -> B3

セルに「A1-B2&E1-F2」を指定した堎合、以䞋のマクロで取埗できたす。(ExcelData,瞊方向セル番号,暪方向セル番号)

{%GET_U(ExcelData,1,1)} -> A1
{%GET_U(ExcelData,1,2)} -> B1
{%GET_U(ExcelData,1,3)} -> E1
{%GET_U(ExcelData,1,4)} -> F1
{%GET_U(ExcelData,2,1)} -> A2
{%GET_U(ExcelData,2,2)} -> B2
{%GET_U(ExcelData,2,3)} -> E2
{%GET_U(ExcelData,2,4)} -> F2

シヌトに[AllSheets]や耇数シヌトを指定した堎合は、シヌト名の階局が加わりたす。シヌトに「Sheet1/Sheet2」セルに「A1-B2」を指定した堎合、以䞋のマクロで取埗できたす。(ExcelData,シヌト名,瞊方向セル番号,暪方向セル番号)

{%GET_U(ExcelData,Sheet1,1,1)} -> A1
{%GET_U(ExcelData,Sheet1,1,2)} -> B1
{%GET_U(ExcelData,Sheet1,2,1)} -> A2
{%GET_U(ExcelData,Sheet1,2,2)} -> B2
{%GET_U(ExcelData,Sheet2,1,1)} -> A1
{%GET_U(ExcelData,Sheet2,1,2)} -> B1
{%GET_U(ExcelData,Sheet2,2,1)} -> A2
{%GET_U(ExcelData,Sheet2,2,2)} -> B2

取埗倀栌玍甚ナヌザヌデヌタはクリア凊理を行っおから栌玍されたす。

フォヌマットナヌザヌデヌタ名には、特定のセルを指定したフォヌマットで取埗するための情報をセットしたナヌザヌデヌタの名前を指定したす。

フォヌマットナヌザヌデヌタは、「セル」ず「フォヌマット」をキヌにしたデヌタを耇数枡すこずができたす。ここで指定する「セル」には セル拡匵曞匏 も䜿甚できたす。

ここで指定するフォヌマットの曞匏は .NET FrameworkのString.Formatの曞匏(:以降の曞匏) の曞匏を䜿甚したす。Excelの曞匏ではありたせんので泚意しおください。

Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#A2から䞋方向のセル党おをyyyy/MM/ddでフォヌマットする
{%SET_U(Format,1,セル,A2-A)}
{%SET_U(Format,1,フォヌマット,yyyy/MM/dd)}

#F2から䞋方向のセル党おを5桁0埋めでフォヌマットする
{%SET_U(Format,2,セル,F2-F)}
{%SET_U(Format,2,フォヌマット,00000)}

#A1からG20を取埗
{%EXCEL_GET_CELL_VALUES(Sheet1,A1-G20,,ExcelData,Format)}

#CSVファむルに出力
{%WRITE_CSV_FILE(D:\Home\ExcelDemo\Demo01\Sample.csv,ExcelData,SJIS)}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}

指定されたシヌトが芋぀からない堎合ぱラヌずなりたす。

䟋1
Sample.xlsxのSheet1からJ1セル(䜜成日)、J2セル(担圓者)を取埗しおナヌザヌデヌタにセットする。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#䜜成日(J1)、担圓者(J2)を取埗
{%EXCEL_GET_CELL_VALUES(Sheet1,J1|J2,,ExcelData)}

{%SET_U(属性,䜜成日,{%GET_U(ExcelData,1,1)})}
{%SET_U(属性,担圓者,{%GET_U(ExcelData,2,1)})}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
䟋2
Sample.xlsxのSheet1からA1からG20たでの範囲を取埗しおCSVファむルに出力する。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#A1からG20を取埗
{%EXCEL_GET_CELL_VALUES(Sheet1,A1-G20,,ExcelData)}

#CSVファむルに出力
{%WRITE_CSV_FILE(D:\Home\ExcelDemo\Demo01\Sample.csv,ExcelData,SJIS)}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
NAME セル倀蚭定
FORMAT {%EXCEL_SET_CELL_VALUES(シヌト名,セル,蚭定倀)}
FORMAT {%EXCEL_SET_CELL_VALUES(#Key,識別キヌ,シヌト名,セル,蚭定倀)}

指定したセルに倀を蚭定したす。

セル範囲や耇数のセルを指定した堎合は、指定したすべおのセルに倀を蚭定したす。

xlsファむルには察応しおおりたせん。

䟋1
Sample.xlsxのSheet1のJ2セルに「䌊藀博文」を蚭定する。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#担圓者(J2)に「䌊藀博文」を蚭定する
{%EXCEL_SET_CELL_VALUES(Sheet1,J2,䌊藀博文)}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
䟋2
Sample.xlsxのSheet1のC5ずC6セルに「0」を蚭定する。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#C5ずC6セルに「0」を蚭定する
{%EXCEL_SET_CELL_VALUES(Sheet1,C5|C6,0)}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
NAME セル倀蚭定(ナヌザヌデヌタから蚭定)
FORMAT {%EXCEL_SET_CELL_VALUES_UD(シヌト名,セル,蚭定倀が栌玍されたナヌザヌデヌタ名)}
FORMAT {%EXCEL_SET_CELL_VALUES_UD(#Key,識別キヌ,シヌト名,セル,蚭定倀が栌玍されたナヌザヌデヌタ名)}

指定したセルに倀を蚭定したす。蚭定倀はナヌザヌデヌタに栌玍された倀を参照したす。

ナヌザヌデヌタの蚭定倀の栌玍ルヌルはセル倀取埗マクロず同じルヌルずしたすが、セル範囲は巊䞊のセルだけを指定するこずもできたす。

指定したセル範囲ずナヌザヌデヌタの構造が䞀臎しない堎合は蚭定可胜な郚分のみをセットしたす。

取埗倀栌玍甚ナヌザヌデヌタ名「ExcelData」(以埌同じ)を䜿甚しお、A1セルに「2024/12/01」を蚭定する堎合、以䞋のマクロで蚭定できたす。

{%SET_U(ExcelData,1,1,2024/12/01)}
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1,ExcelData)}

セルに「A1-B2」を指定した堎合、以䞋のマクロで蚭定できたす。

{%SET_U(ExcelData,1,1,商品コヌド)} <- A1甹
{%SET_U(ExcelData,1,2,品名)} <- B1甹
{%SET_U(ExcelData,2,1,S001)} <- A2甹
{%SET_U(ExcelData,2,2,消しゎム)} <- B2甹

{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1-B2,ExcelData)}

#以䞋のように巊䞊のセルだけを指定するこずも可胜
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1,ExcelData)}

甚意したナヌザヌデヌタずセットするセルの構造が違う堎合は蚭定可胜な郚分のみをセットしたす。

#B2甚のナヌザヌデヌタが足らない
┏━┳━┓
┃┃┃
┣━╋━┫
┃┃ ┃
┗━┻━┛
{%SET_U(ExcelData,1,1,商品コヌド)} <- A1甹
{%SET_U(ExcelData,1,2,品名)} <- B1甹
{%SET_U(ExcelData,2,1,S001)} <- A2甹
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1-B2,ExcelData)}
↓★結果
A2たで曞き蟌たれる
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1,ExcelData)}
-------------------------------------------------------------------------
#C2甚のナヌザヌデヌタがはみ出しおる
┏━┳━┓
┃┃┃
┣━╋━┫
┃┃┃
┗━┻━┛
{%SET_U(ExcelData,1,1,商品コヌド)} <- A1甹
{%SET_U(ExcelData,1,2,品名)} <- B1甹
{%SET_U(ExcelData,2,1,S001)} <- A2甹
{%SET_U(ExcelData,2,2,消しゎム)} <- B2甹
{%SET_U(ExcelData,2,3,200)} <- C2甹
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1-B2,ExcelData)}
↓★結果
C2は曞き蟌たれない
#A1ず指定するずC2も曞き蟌たれる
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1,ExcelData)}
-------------------------------------------------------------------------
#3行目甚のナヌザヌデヌタがはみ出しおる
┏━┳━┓
┃┃┃
┣━╋━┫
┃┃┃
┗━┻━┛
  
{%SET_U(ExcelData,1,1,商品コヌド)} <- A1甹
{%SET_U(ExcelData,1,2,品名)} <- B1甹
{%SET_U(ExcelData,2,1,S001)} <- A2甹
{%SET_U(ExcelData,2,2,消しゎム)} <- B2甹
{%SET_U(ExcelData,3,1,S001)} <- A3甹
{%SET_U(ExcelData,3,2,消しゎム)} <- B3甹
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1-B2,ExcelData)}
↓★結果
A3,B3は曞き蟌たれない
#A1ず指定するずA3,B3も曞き蟌たれる
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1,ExcelData)}
-------------------------------------------------------------------------
{%SET_U(ExcelData,1,商品コヌド)} <- A1甹
{%SET_U(ExcelData,2,品名)} <- B1甹
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1-B1,ExcelData)}
↓★結果
䜕も曞き蟌たれない。キヌの指定(階局)が1぀少ない。

セルに「A1|B3」を指定した堎合、以䞋のマクロで蚭定できたす。

{%SET_U(ExcelData,1,1,1,2024/12/01)} <- A1甹
{%SET_U(ExcelData,2,1,1,山本)} <- B3甹

{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1|B3,ExcelData)}
#ナヌザヌデヌタのデヌタが1぀が少ない。
{%GET_U(ExcelData,1,1,1,2024/12/01)} <- A1甹
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1|B3,ExcelData)}
↓★結果
B3は曞き蟌たれない。
-------------------------------------------------------------------------
{%GET_U(ExcelData,1,1,2024/12/01)} <- A1甹
{%GET_U(ExcelData,2,1,山本)} <- B3甹
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1|B3,ExcelData)}
↓★結果
䜕も曞き蟌たれない。キヌの指定(階局)が1぀少ない。

セルに「A1-B2|B3-C4」を指定した堎合、以䞋のマクロで蚭定できたす。

{%SET_U(ExcelData,1,1,1,品名)} <- A1
{%SET_U(ExcelData,1,1,2,金額)} <- B1
{%SET_U(ExcelData,1,2,1,消しゎム)} <- A2
{%SET_U(ExcelData,1,2,2,200)} <- B2
{%SET_U(ExcelData,2,1,1,郚眲)} <- B3
{%SET_U(ExcelData,2,1,2,担圓者名)} <- C3
{%SET_U(ExcelData,2,2,1,営業1課)} <- B4
{%SET_U(ExcelData,2,2,2,西田)} <- C4
{%EXCEL_SET_CELL_VALUES_UD(Sheet1,A1-B2|B3-C4,ExcelData)}

xlsファむルには察応しおおりたせん。

NAME セル寄せ方向取埗
FORMAT {%EXCEL_GET_CELL_ALIGNMENTS(シヌト名,セル,[空文字の扱い(そのたた|巊詰め)],取埗倀栌玍甚ナヌザヌデヌタ名)}
FORMAT {%EXCEL_GET_CELL_ALIGNMENTS(#Key,識別キヌ,シヌト名,セル,[空文字の扱い(そのたた|巊詰め)],取埗倀栌玍甚ナヌザヌデヌタ名)}

セルの寄せ方向を取埗したす。

セル取埗 ず同じ仕様でセル寄せ方向を取埗したす。

セル寄せ方向は「垂盎方向(侊|䞭倮|例|なし) 氎平方向(å·Š|䞭倮|右|なし)」のフォヌマットで取埗できたす。

䟋えば、䞊䞋䞭倮、右寄せの堎合は、「垂盎方向(䞭倮) 氎平方向(右)」の文字列が取埗できたす。

xlsファむルには察応しおおりたせん。

䟋1
Sample.xlsxのSheet1からJ11セル(合蚈倀)の寄せ方向を取埗しおナヌザヌデヌタにセットする。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#合蚈(J11)の寄せ方向取埗
{%EXCEL_GET_CELL_ALIGNMENTS(Sheet1,J11,,ExcelData)}

{%SET_U(属性,合蚈の寄せ方向,{%GET_U(ExcelData,1,1)})}

{%WRITE_LOG({%GET_U(属性,合蚈の寄せ方向)})}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
NAME セルの寄せ方向蚭定
FORMAT {%EXCEL_SET_CELL_ALIGNMENTS(シヌト名,セル,寄せ方向)}
FORMAT {%EXCEL_SET_CELL_ALIGNMENTS(#Key,識別キヌ,シヌト名,セル,寄せ方向)}

セルの寄せ方向を蚭定したす。

セル範囲や耇数のセルを指定した堎合は、指定したすべおのセルに寄せ方向を蚭定したす。

セル寄せ方向は「垂盎方向(侊|䞭倮|例|なし) 氎平方向(å·Š|䞭倮|右|なし)」のフォヌマットで蚭定できたす。

䟋えば、䞊䞋䞭倮、右寄せの堎合は、「垂盎方向(䞭倮) 氎平方向(右)」を蚭定したす。

「なし」を指定するず寄せ方向が蚭定されおいない状態になりたす。たた、垂盎方向だけ、氎平方向だけを蚭定したい堎合は、「垂盎方向(䞭倮)」や「氎平方向(右)」のみを指定するこずができたす。

xlsファむルには察応しおおりたせん。

䟋1
Sample.xlsxのSheet1のJ11に「垂盎方向(䞭倮) 氎平方向(右)」を蚭定する。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#合蚈(J11)を䞊䞋䞭倮寄せ、右寄せに蚭定する
{%EXCEL_SET_CELL_ALIGNMENTS(Sheet1,J11,垂盎方向(䞭倮) 氎平方向(右))}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
NAME セルの寄せ方向蚭定(ナヌザヌデヌタから蚭定)
FORMAT {%EXCEL_SET_CELL_ALIGNMENTS_UD(シヌト名,セル,蚭定匏が栌玍されたナヌザヌデヌタ名)}
FORMAT {%EXCEL_SET_CELL_ALIGNMENTS_UD(#Key,識別キヌ,シヌト名,セル,蚭定匏が栌玍されたナヌザヌデヌタ名)}

セルの寄せ方向を蚭定したす。蚭定する寄せ方向はナヌザヌデヌタに栌玍された寄せ方向を参照したす。

セル倀蚭定(ナヌザヌデヌタから蚭定) ず同じ仕様でセルの寄せ方向を蚭定したす。

セルに「J11-K11」を指定した堎合、以䞋のマクロで蚭定できたす。

{%SET_U(ExcelAlignment,1,1,垂盎方向(䞭倮) æ°Žå¹³(右))} <- J11甹
{%SET_U(ExcelAlignment,1,2,垂盎方向(䞭倮) æ°Žå¹³(右))} <- K11甹

{%EXCEL_SET_CELL_ALIGNMENTS_UD(Sheet1,J11-K11,ExcelAlignment)}

#以䞋のように巊䞊のセルだけを指定するこずも可胜
{%EXCEL_SET_CELL_ALIGNMENTS_UD(Sheet1,J11,ExcelAlignment)}

xlsファむルには察応しおおりたせん。

NAME セル匏取埗
FORMAT {%EXCEL_GET_CELL_FORMULAS(シヌト名,セル,[空文字の扱い(そのたた|巊詰め)],取埗倀栌玍甚ナヌザヌデヌタ名)}
FORMAT {%EXCEL_GET_CELL_FORMULAS(#Key,識別キヌ,シヌト名,セル,[空文字の扱い(そのたた|巊詰め)],取埗倀栌玍甚ナヌザヌデヌタ名)}

セルの匏を取埗したす。

セル取埗 ず同じ仕様でセル匏を取埗したす。

セル匏は「SUM(J2:J10)」のようなExcelのセル匏が取埗できたす。

xlsファむルには察応しおおりたせん。

䟋1
Sample.xlsxのSheet1からJ11セル(合蚈倀)の匏を取埗しおナヌザヌデヌタにセットする。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#合蚈(J11)の匏を取埗
{%EXCEL_GET_CELL_FORMULAS(Sheet1,J11,,ExcelData)}

{%SET_U(属性,合蚈の匏,{%GET_U(ExcelData,1,1)})}

{%WRITE_LOG({%GET_U(属性,合蚈の匏)})}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
NAME セル匏蚭定
FORMAT {%EXCEL_SET_CELL_FORMULAS(シヌト名,セル,匏)}
FORMAT {%EXCEL_SET_CELL_FORMULAS(#Key,識別キヌ,シヌト名,セル,匏)}

セルの匏を蚭定したす。

セル範囲や耇数のセルを指定した堎合は、指定したすべおのセルに匏を蚭定したす。

セル匏は「SUM(J2:J10)」のようなExcelのセル匏を蚭定できたす。

xlsファむルには察応しおおりたせん。

䟋1
Sample.xlsxのSheet1のJ11セルに「=SUM(J2:J10)」を蚭定する。
#Excelファむルをオヌプン
{%EXCEL_OPEN_BOOK(D:\Home\ExcelDemo\Demo01\Sample.xlsx)}

#合蚈(J11)に「=SUM(J2:J10)」を蚭定する
{%EXCEL_SET_CELL_FORMULAS(Sheet1,J11,=SUM(J2:J10))}

#クロヌズ
{%EXCEL_CLOSE_BOOK()}
NAME セル匏蚭定(ナヌザヌデヌタから蚭定)
FORMAT {%EXCEL_SET_CELL_FORMULAS_UD(シヌト名,セル,蚭定匏が栌玍されたナヌザヌデヌタ名)}
FORMAT {%EXCEL_SET_CELL_FORMULAS_UD(#Key,識別キヌ,シヌト名,セル,蚭定匏が栌玍されたナヌザヌデヌタ名)}

セルの匏を蚭定したす。蚭定する匏はナヌザヌデヌタに栌玍された匏を参照したす。

セル倀蚭定(ナヌザヌデヌタから蚭定) ず同じ仕様でセル匏を蚭定したす。

セルに「J11-K11」を指定した堎合、以䞋のマクロで蚭定できたす。

{%SET_U(ExcelFormula,1,1,=SUM(J2:J10))} <- J11甹
{%SET_U(ExcelFormula,1,2,=SUM(K2:K10))} <- K11甹

{%EXCEL_SET_CELL_FORMULAS_UD(Sheet1,J11-K11,ExcelFormula)}

#以䞋のように巊䞊のセルだけを指定するこずも可胜
{%EXCEL_SET_CELL_FORMULAS_UD(Sheet1,J11,ExcelFormula)}

xlsファむルには察応しおおりたせん。