Excelがない環境でDIAdemスクリプトからExcelファイルに出力する

更新しました Apr 21, 2021

使用製品

ソフトウェア

  • DIAdem

問題

DIAdemからExcelファイルに出力させるにはExcelをインストールしている必要がありますか?

解決策

DIAdemからExcelファイルへ結果をファイル出力する方法はいくつかあります。
例えばActiveXを使用することができますが、こちらはExcelのソフトウェアがDIAdemと同じ環境にインストールされている必要があります。
一方で、DIAdemのコマンドだけでExcelファイルに出力させることができます。この方法はDIAdem 2019から使用でき、Excelのソフトウェアがインストールされていなくても実行できます。

下記はサンプルのスクリプトで、DIAdemのSCRIPTに貼付け、vbsファイルとして保存して使用できます。実行すると、vbsファイルと同じ階層にExample.xlsxというファイルが生成されます。
 
Option Explicit
Dim i, j, iMax, jMax, ExcelFilePath, Workbook, Sheet, HeaderNames, Success
ExcelFilePath = CurrentScriptPath & "EXAMPLE.xlsx"
IF FileExist(ExcelFilePath) THEN Call FileDelete(ExcelFilePath)
'Set Workbook = CreateExcelWorkbook(ExcelFilePath) ' you can start with a template Excel file
'Set Sheet = Workbook.Worksheets.Add("My Sheetname")
Set Workbook = CreateExcelWorkbook()        ' or you can start with an empty Excel file
Set Sheet = Workbook.Worksheets(1)
HeaderNames = Array("", "X", "Y", "Value")
jMax = UBound(HeaderNames)
FOR j = 1 TO jMax
 Sheet.Cells(1, j).Value = HeaderNames(j)
NEXT ' j
iMax = 1000
FOR i = 1 TO iMax
 Sheet.Cells(i+1, 1).Value = i
 Sheet.Cells(i+1, 2).Value = iMax - i
 Sheet.Cells(i+1, 3).Value = i/1000
NEXT ' i
Success = Workbook.SaveAs(ExcelFilePath)
IF (Success) THEN
 LogFileWrite "Output is in """ & ExcelFilePath & """"
 Call ExtProgram(ExcelFilePath)
ELSE
 MsgBox "Error writing to """ & ExcelFilePath & """"
END IF