2017-12-28 46 views
-1

非常にばかげたエラーが発生しています。私はVSTOが新しく、Addinのいくつかの変数でExcelファイルの場所を取得する必要があります。ファイル名とパスのエラーを取得する - C#

string name = ActiveWorkbook.FullName; 

私はエラーとActiveWorkbook以下の赤い線取得しています:私はコードでMicrosoft.Office.Interop.Excelの参照を追加したが、そのは、このエラーを示す

The name ActiveWorkBook does not exist in the current context. 

を。私はこれに新しいです。私は何かを逃していますか?

+1

私はそれがApplication.Something.ActiveWorkbookであるべきだと思います。正確な名前を覚えておいてください。 – Steve

答えて

0

にコードを変更する必要があり、あなたは以下を参照してください、エクセルアプリケーションモデルへのアクセスを得るためにGlobals.ThisAddIn.Applicationを使用する必要があります。

var wb = Globals.ThisAddIn.Application.ActiveWorkbook; 
    string name = wb.FullName; 

Programming VSTO Add-ins

を参照してください

コードがThisAddInクラス内にある場合は、直接電話することができます。this.Application.ActiveWorkbook

+0

ありがとうございます。私はちょうどドキュメントを参照するための適切な情報源を見つける。 Microsoftのドキュメントは非常に混乱しています。とにかくありがとう。 :) – Wocugon

0

ActiveWorkbookはクラスではありません。これはApplicationインターフェイスのプロパティです。クラス名で呼び出すことはできません。

その後、あなたはExcelのVSTOでthis.Application.ActiveWorkbook.FullName;

+2

これはアドインなので、おそらくすでにアプリケーションインスタンスがあります。彼はそのインスタンスからプロパティを使用するだけです。 – JuanR

関連する問題