私はExcelでWORKDAY()関数を使用しているスプレッドシートを持っています(これはAnalysis Toolpakライブラリ/ package/Excelで呼び出すもの)。このスプレッドシートを手動で開き、この関数を呼び出すとうまく動作します。ExcelのC#コードの問題
Dim startDate as Date
startDate = Cells(1,1)
Iスプレッドシートを開いた後、マクロを実行すると、手動でこのコードは、罰金実行:
IはWORKDAY()関数で使用されているセルを参照するマクロを持っています。問題は、私がスプレッドシートを開き、C#コードからマクロを実行しようとするときです。 startDateの値を取得しようとすると失敗します。そのセルを見ると、#VALUEが表示されます。参照エラー。 C#コードからスプレッドシートを開いたときに正しい参照が読み込まれていないようです。
誰でもこの問題を解決する方法を知っていますか?それ以外の場合は、分析アドインをロードし、app
はMicrosoft.Office.Interop.Excel.Application
それが既に開いて、次に何も起こらない場合のインスタンスである
app.Workbooks.Open(file_name)
を:私がしなければならなかった何
一般にC#で開くときにマクロが無効になっていると問題はありますか?任意のマクロを実行できることを確認できますか? –
マクロが実行されます。これは、日付を設定しようとしている行のマクロの途中で停止します。 – Dismissile
オートメーションでExcelを開くと、自動的にアドインが読み込まれることはありません。コード内で行う必要があります。 http://support.microsoft.com/kb/213489 –