2012-06-01 33 views
-2

Refresh按鈕/方法在Excel加載。下面是我在哪裏達:外部應用程序來調用在Excel中VSTO事件附加

private Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); 
public FormMain() 
{ 
InitializeComponent(); 
RefreshExcelSheet(@C:\a.xls"); 
} 

private bool RefreshExcelSheet(string path) 
     { 
      using (var wb = excel.Workbooks.Open(path).WithComCleanup()) 

如何單擊刷新按鈕,或簡單地調用它的事件?

我看着這些文章,但他們用VBA,我希望有一個winform應用程序打開電子表格,然後單擊按鈕:
Accessing a VSTO application-addin types from VBA (Excel)
Expose VSTO functionality to VBA w/o local admin

回答

1

解決這個問題的最簡單的方法是剛露出現有的定製.NET方法通過使COM方法是一個COM調用包裝對象(CCW)。 VSTO爲您提供了一個簡單的方法來暴露COM自動化服務器。

http://blogs.msdn.com/b/andreww/archive/2007/01/15/vsto-add-ins-comaddins-and-requestcomaddinautomationservice.aspx

編輯由OP: 安德魯白教堂已經更新了文章,但我不能得到它的工作。即使與StandardOleMarshalObject和註冊COM互操作我仍然得到相同的錯誤信息,如本文中詳述:http://blogs.msdn.com/b/andreww/archive/2008/08/11/why-your-comaddin-object-should-derive-from-standardolemarshalobject.asp

+0

我會開與我和文章有問題的新問題。 –

相關問題