2016-12-05 6 views
0

ASP.NET Webページから.xlsmファイルを実行して、VBAコードを使用して.xmlファイルを生成します。私の場合には、hereのスローダウンはうまくいかないようです。ASP.NETから.xlsmファイルを実行するページ

私はnmy TestWebAppで次のことを試しました。 私のWebForm1.aspx

using System; 

namespace TestWebApp 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      Response.Write("Hello"); 
     } 
    } 
} 

ないいただきました問題を確認してください背後にある私のコードで

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="return Callxlsm(); "/> 
    </div> 
    </form> 
</body> 
    <script type="text/javascript"> 
     function Callxlsm() { 
      alert("Hello"); 
      var MyObject = new ActiveXObject('WScript.Shell'); 
      MyObject.Run('file:///K:\NLMData\POC\TestWebApp\TestWebApp\Files\AMM_ModelWizard.xlsm'); 
     } 
    </script> 
</html> 

、任意のポインタpls.Alsoは、我々はページからこのExcelファイルにパラメータを渡すことができますので、 Excelファイルは特定の方法でそれらを操作し、XMLファイルを生成しますか?

+1

できません。マクロはどちらかExcel自体を実行する必要があります。あなたは何をしようとしているのですか?おそらくこれを行うもっと良い方法があります。たとえば、データの読み込みにマクロの代わりにデータコネクションを使用するなどです。サーバー上でマクロを実行することは良い考えではありません。これらはあまりにも重く、通常は(常に)ウェブアプリケーションのようなトラフィックの多い環境ではひどく書かれています。 –

答えて

0

これを実行するには、EPPlusを使用するようにしてください。この質問を見てくださいWriting and Executing VBA Macros on Excel without using Excel.Interop

+0

EPPLUSには、.xlsmファイルのためのサポートがないという記事があります。 .xlsmファイルを変更したくありません。 Webform.aspxからそのファイルを削除し、出力を取得するだけです。 – Programmerzzz

+0

@Programmerzzz質問をよく読んで、目的のXMLファイルを生成する自動実行マクロを作成できることがわかります。その後、結果を解析することができます(または何でもしたい場合) –

+0

私は間違っている場合は、正しいepplus .plsを介してVBAコードを追加して、同じ.xlsmファイルを再作成する必要があると理解しました。しかし、私の場合、ユーザーは既に昔からこのファイルを使用しているのは、Webアプリケーションからこのファイルを呼び出すだけで、ユーザはマシン上にそのファイルのコピーを必要としないということです。私が持っている2番目のオプションは、Webページで同じUIを作成して、C#でExcelを使用してVBAコードを模倣し、もっと難しいと思う.XMLファイルをダンプすることです... – Programmerzzz

関連する問題