2012-03-03 19 views
2

ActiveXオブジェクトを使用してInternet Explorerを介してJavascript配列からExcelシートに一度に範囲を書き込むことに関する質問を既に投稿しました。これはセル単位で行うことができますこのセルごとの方法は許容できないほど遅いため、範囲を一度に書き込む必要があります。複数パラメータのExcel-ActiveX関数を呼び出す方法

残念ながら、このサイトは素晴らしいかもしれませんが、誰も私の問題(私は一息!)の答えを私に与えてくれませんでした。

私は何かを試しました:aspxシートから、クライアント側で、ローカルのクライアントディスク上のCSVファイルとして私のCSVスタック(私は必然的に瞬時に開くExcelファイルに書きたいものです)を書きます。これは正常に機能し、ExcelからCSVファイルを開くと、すぐにわかり、正しく解析できます。 Good ...

しかし実際には、ファイルエクスプローラにスワップする代わりに、自分のapsxページでExcelアイコンをクリックするとすぐに、このCSVファイルをExcelウィンドウですぐに取得したいと思っています自分でCSVファイルを取得するために徹底的にナビゲートします。私は、次の手順を使用し、そう:

<script type='text/javascript'> 
    applic = new ActiveXObject("Excel.Application"); 
    classeur = applic.Workbooks.Open(nomFichier,"","","4"); 
</script> 

だから、私は、パラメータがCSV-解析され、セミコロンでなければならないことをprecisingで、エクセルActiveXオブジェクトの「開く」メソッドを使用しますそして今、別の問題が発生します(私は最後にMicrosoftを嫌うでしょうか?):Javascriptでは、 "OpenText"を試して同じ問題を抱えていたので、ActiveX関数のmultiparameters呼び出しを使用できません。 :

命令:

classeur = applic.Workbooks.Open(nomFichier) 

はすぐに私はこのように、少なくとも二番目のパラメータを追加すると、すべての権利が、動作します:

classeur = applic.Workbooks.Open(nomFichier,"") 

私のナビゲーターが失敗しました!

だから私は一度にExcelの範囲内で私のcsvスタックを解析することはできませんまだ、戻って私の最初の問題に行く...

だからここに私の質問です: は「私はドンが特殊な構文ですJavascriptからActivex関数にいくつかのパラメータを渡すことができますか?

は私が

はありがとう...私はあなたと一緒にそこにすべての巧妙な男今回より幸運でいただければ幸いです。

答えて

0

最後に、私はactveX構文に関する私の質問に対する答えを見つけました。パラメータはMicrosoftによって "Variant"として定義されていますが、1つは2つのことに気付く必要があります: 1)JavaScriptは空白のパラメータ、

classeur = applic.Workbooks.Open(nomFichier,,,4); // false Javascript syntax 

これが空の文字列を配置した理由です。ActiveXは、このような空の文字列の代わりにバリアントパラメータ、受け付けません) 2:

classeur = applic.Workbooks.Open(nomFichier,"","","4"); // false ActiveX syntax 

をそして、私は、次の構文をしようとしたとき、実際に、私の機能は、すべての働いていたが、他の問題は、ActiveX呼び出しから来ています右:

これは問題を引き起こしたパラメータの数ではなく、javascriptとActiveXの組み合わせの制限です。

関連する問題