0
我有VS 2012與主項目作爲Windows窗體應用程序和添加項目作爲Excel工作簿。我有兩個項目的代碼完全相同,所以我試圖通過共享代碼來節省時間。合併項目,如何訪問主項目中的公共潛艇
從我的Excel項目中,我添加了一個對我的Windows窗體項目的引用並導入了命名空間。我可以訪問我的主項目的公共職能,但我似乎無法訪問我的公共潛水員。
我也嘗試創建一個模塊添加項目之間的鏈接,但這會導致我也更新兩個地方的代碼。此外,我認爲創建鏈接也可能會在部署時引發一些問題。
例如,在我的窗戶形式的項目,我有以下我想從我的第二個項目
Public Sub closeXLApp()
'This sub is called to close the application without
'saving any changes to the workbook. The sub closes
'the app, workbook and sheet and performs some garbage clean up
'as well making sure that the opened Excel instance is cleared from memory.
xlBook.Close(SaveChanges:=False)
xlApp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
xlSheet = Nothing
xlBook = Nothing
xlApp = Nothing
GC.Collect()
End Sub
來訪問我的第二個項目,我創建了一個參考和進口的命名空間爲:
Imports Compensation_Template_Welcome_Page
所以,當我試圖從我的第二個項目進入上述公共子爲:
Private Sub btnMinCloseProject_Click(sender As Object, e As EventArgs) Handles btnMinCloseProject.Click
'This procedure runs when the btnMinCloseProject is clicked. The
'procedure calls the function to close workbook without saving changes.
closeXLApp()
End Sub
我收到一條錯誤消息,指出由於其保護級別,該子項未聲明或無法訪問。
有沒有更好的方法來實現這個目標?即使是較長的路線,我也只是希望它能夠長期保持高效。
感謝
請發佈您無法訪問的方法的代碼。 – Szymon