いまさら…2020年やぞ
現在ではActiveXはIE上では基本的に使用禁止でセキュリティ落としてまで使うのはどうなのということで.hta上で使う。vbscript部分はgalife様を主に参考にさせていただきました。
test.hta
x
58
58
1
<html><head>
2
<title>HTAのサンプル</title>
3
<script language="VBScript">
4
5
dim setdata(10)
6
dim getdata(10)
7
8
9
Sub Main ()
10
'On Error Resume Next
11
12
Dim objXls, objWorkbook, objSheet
13
Set objXls = CreateObject("Excel.Application")
14
'If Not objXls Then Exit Sub
15
Set objWorkbook = objXls.Workbooks.Open(GetCurrentDirectory() & "\test.xlsx")
16
17
objXls.Visible = True
18
19
' シート名を名称で指定して取得。1から始まるインデックスで指定もできる。
20
Set objSheet = objWorkbook.Sheets("Sheet1")
21
objSheet.Activate
22
' データ取得範囲を指定
23
for i=1 to 10
24
setdata(i)=objSheet.cells(i,1).Text
25
next
26
27
28
' アクティブシートに設定
29
30
'WScript.Sleep 3000
31
32
for i =1 to 10
33
objSheet.Cells(i,3).Value = setdata(i)
34
next
35
36
' …いろいろ処理する…
37
'objWorkbook.Close
38
'objXls.Quit
39
Set objWorkbook = Nothing
40
Set objXls = Nothing
41
End Sub
42
43
Function GetCurrentDirectory()
44
On Error Resume Next
45
Dim objShell : Set objShell = CreateObject("WScript.Shell")
46
GetCurrentDirectory = objShell.CurrentDirectory
47
End Function
48
49
' …メインを呼び出す…
50
51
Main
52
53
</script>
54
</head>
55
<body>
56
処理を終えたら閉じてください
57
58
</body></html>
コメント