2007-12-12 HTAでxlsを作成 HTA 勉強がてら、試しにスタイルシートとやらを色々なサンプルを見て真似て書いてみた。 テキストエリアに入力されたカンマ区切りの内容をxlsとして作成するHTA。 私の環境ではファイル名欄にファイル名だけを入力するとMyDocumentsに保存された。 CSSってのは結構奥が深そうで面白いね。ボタンの形状も変えられるとは・・・・・・。 メニュー?を作るサンプルを見たのだけれど、全くわけわからんかった。 <html> <script type="text/vbscript"><!-- window.resizeto window.screen.width/2, window.screen.height/2 window.moveto 0, 0 --></script> <head> <title>xls作成</title> <hta:application scroll = "no" contextmenu = "no"> </head> <style type="text/css"><!-- body { font-size: 12pt; background-color: #008080; color: #ffff00; } #ta { border: 2px solid #0000ff; } #fn { border: 2px solid #0000ff; } #mb { border: 2px solid #008000; background-color: #00ff00; color: #0000ff; } --></style> <body> <textarea id="ta" name="ta" wrap="off"></textarea><br><br> ファイル名 <input type="text" id="fn" name="fname" size="40"> <input id="mb" type="button" value="作成" onclick=c_xls()> </body> <script type="text/vbscript"><!-- option explicit ta.style.width = "100%" ta.style.height = window.screen.height / 3 sub c_xls() dim excel dim filename, xx, cc, i, str, a, savepath if fname.value = "" then msgbox "ファイル名が入力されてません",,"確認" exit sub else filename = fname.value end if xx = split(ta.value, vbnewline) set excel = createobject("excel.application") excel.visible = false excel.workbooks.add cc = 1 for i = 0 to ubound(xx) str=split(xx(i),",") for a = 0 to ubound(str) excel.activesheet.cells(cc,a+1).value = str(a) next cc = cc + 1 next excel.displayalerts = false savepath = filename excel.workbooks(1).saveas (savepath) excel.quit msgbox "完了",,"確認" set excel = nothing end sub --></script> </html>