いまさら…2020年やぞ
現在ではActiveXはIE上では基本的に使用禁止でセキュリティ落としてまで使うのはどうなのということで.hta上で使う。vbscript部分はgalife様を主に参考にさせていただきました。
<html><head> <title>HTAのサンプル</title> <script language="VBScript"> dim setdata(10) dim getdata(10) Sub Main () 'On Error Resume Next Dim objXls, objWorkbook, objSheet Set objXls = CreateObject("Excel.Application") 'If Not objXls Then Exit Sub Set objWorkbook = objXls.Workbooks.Open(GetCurrentDirectory() & "\test.xlsx") objXls.Visible = True ' シート名を名称で指定して取得。1から始まるインデックスで指定もできる。 Set objSheet = objWorkbook.Sheets("Sheet1") objSheet.Activate ' データ取得範囲を指定 for i=1 to 10 setdata(i)=objSheet.cells(i,1).Text next ' アクティブシートに設定 'WScript.Sleep 3000 for i =1 to 10 objSheet.Cells(i,3).Value = setdata(i) next ' …いろいろ処理する… 'objWorkbook.Close 'objXls.Quit Set objWorkbook = Nothing Set objXls = Nothing End Sub Function GetCurrentDirectory() On Error Resume Next Dim objShell : Set objShell = CreateObject("WScript.Shell") GetCurrentDirectory = objShell.CurrentDirectory End Function ' …メインを呼び出す… Main </script> </head> <body> 処理を終えたら閉じてください </body></html>
コメント