vbscript

.htaでvbscriptを利用する

スポンサーリンク

いまさら…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>

コメント

タイトルとURLをコピーしました