JavascriptでExcelを操作する方法
仕事先の制約上、管理系のファイルは全部Excelに頼っている状況。
ひとつのExcelファイルを数人が参照し、編集する場合が多い。
Excelだと、セマフォ制御が弱く、共有設定にしていても、
上書きのミスが起こったり、なぜかファイルが壊れたりする。
そこで、現在ブラウザーからActiveX制御による編集ページをHTML+JSで作成中。
宣言方法、ファイルのオープン方法などは以下のページに載っている。
http://www.h4.dion.ne.jp/~unkai/js/js04.html
単純に ファイルを開く>ファイルを編集>保存>Excelクローズ
という処理を目指したのだが、ひとつ問題が発生
Password設定したExcelファイルへの書き込みができない
当初、ExcelのOpenメソッドにならい、このように記載してみた
参照:http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/apr07/hey0412.mspx
var workbook = excel.Workbooks.Open( fso.getAbsolutePathName("filename.xls"),,,, "password");
すると。。。
⇒構文エラー
なぜできない・・・パスワードを設定しない場合は引数にファイル名を入れただけでできるのだが。
とりあえず、Password引数の部分まで、すべてなにかで埋めないといけないのでは?と思い。
var workbook = excel.Workbooks.Open( fso.getAbsolutePathName("filename.xls"), 0, false, "", "password");
このように指定。
すると。。。
⇒Workbooks クラスの Open プロパティを取得できません。
ええええええ
試行錯誤した結果...第四引数であるFormat(デリミタ)の部分は
定数でなければいけないことがやっと分かった。
参考:http://www.happy2-island.com/excelsmile/smile03/capter00301.shtml
こうすることにより正常に書き込みまでOK。
var workbook = excel.Workbooks.Open( fso.getAbsolutePathName("filename.xls"), 0, false, 5, "password");
いつもながら変なところで時間食ってしまった土曜日でした...