HTA 内へ埋め込んだスプレッドシートの操作
HTA 内へ埋め込んだスプレッドシートの操作
いつもお世話になります
以下のサイトを参考に、Excel Sheetを埋め込んだHTML Applicationを開発しています。
http://www.microsoft.com/japan/technet/scriptcenter/topics/activex/spreadsheet.mspx
コードは以下のとおりです。
このコードのGetProcessesを参考にして、テキストファイル(CSV,XMLなど)を読み込んで表示し、編集後に保存する方法はできるのですが、既存のexcelファイル(*xls)を読み込み表示、編集後に保存する方法がわかりません。
googleで検索して適当な例が見つかりませんでした。
excel VBAにお詳しい方のご教示をよろしくお願いします。
SpleadSheet.hta (または SpleadSheet.html
--------------------------------------------------------------------------
<html>
<head>
<title>Spreadsheet Example</title>
</head>
<Script Language="VBScript">
Sub Window_Onload
Spreadsheet1.TitleBar.Caption = "Process Information"
End Sub
Sub GetProcesses
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * From Win32_Process")
i = 1
For Each objProcess in colProcesses
strCell = "A" & i
Spreadsheet1.Range(strCell).Cells(1) = objProcess.Name
strCell = "B" & i
Spreadsheet1.Range(strCell).Cells(1) = objProcess.WorkingSetSize
strCell = "C" & i
Spreadsheet1.Range(strCell).Cells(1) = objProcess.HandleCount
i = i + 1
Next
End Sub
</script>
<body bgcolor="buttonface">
<br>
<object classid="clsid:0002E559-0000-0000-C000-000000000046" id="Spreadsheet1">
<param name="DisplayToolbar" value="0">
<param name="DisplayWorkbookTabs" value="0">
<param name="DisplayTitleBar" value="-1">
</object>
<p><input type="button" value="Get Process Information" onclick="GetProcesses">
</body>
</html>
--------------------------------------------------------------------------
お礼
ご回答ありがとうございます。 キーイベントを送る方法だと、仰る通り待機時間での調整となってしまいますので、タイミングによっては正常に動作しないことがありました。このため、C#でIEを操作する方法と同じような方法で、HTAも操作できないかと思った次第でした。 VB6でのサンプルの件、私も探してみたいと思います。