アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
初めて投稿します。

現在、JavaScriptでエクセルファイルを作成するWEBプログラムを開発中です。
全くの初心者なので、ネットでどなたかが紹介していたコードを参考にできるかどうか実験中です。

自分のPCでは動くのですが、サーバーに上げると
var fso = new ActiveXObject('Scripting.FileSystemObject');
のところで
「オートメーション サーバーはオブジェクトを作成できません。」
というエラーが発生します。
セキュリティの問題かと思い設定を変更したりしましたが、変化なしです。

サーバーにはMicroSoft Officeは入っていません。
でも、JavaScriptならクライアント側の環境を利用できるかなと思ったのですが…
根本的にこの考え方が間違っているんですかね?

もし、何か方法があれば教えていただければうれしいです。

<script type="text/javascript">
//エクセルの起動
function withExcel(visible, func) {
var excel = new ActiveXObject("Excel.Application");
excel.Visible = visible;
excel.DisplayAlerts = false;
try {
func(excel);
} finally {
excel.Quit();
}
}
function withNewWorkbook(filename, visible, func) {
withExcel(visible, function (excel) {
var workbook = excel.Workbooks.Add();
try {
try {
func(workbook);
} finally {
workbook.SaveAs(filename);
}
} finally {
workbook.Close();
}
});
}
function test() {
var fso = new ActiveXObject('Scripting.FileSystemObject');
withNewWorkbook(fso.getAbsolutePathName("エクセルテスト.xls"), false,
function (workbook) {
var worksheet = workbook.Worksheets(1);
worksheet.Cells(1, 1).value = "テストです!!";
}
);
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="エクセルのテストです!"></asp:Label>
<input type="button" value="ボタン1" onclick="test()"/><br/>
</div>
</form>
</body>

A 回答 (1件)

使用しているIEのバージョンは何ですか?


IE9以降では、ネットワーク上でActiveXObjectを利用できないようです。
http://msdn.microsoft.com/en-us/library/ie/7sw4d …

文書を互換モードに変更すれば、利用できるかもしれません。
http://msdn.microsoft.com/ja-jp/library/cc288325 …

それが無理なら、ローカルにHTMLを保存してもらうなど、考え方を改める必要があります。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています