簡體   English   中英

VSTO 插件 VB.net 用戶控件

[英]VSTO AddIn VB.net UserControl

在 VB.net 中編碼

自定義用戶控件 + 互操作 - Excel 插件

我一直在嘗試為多種表單復制一個 refedit 框。

(參考編輯:控制選擇輸入框中的范圍)

我會使用輸入框,但僅以一種形式使用輸入框並不是實際的罪過,我正在嘗試使用 15 左右。

我成功地將自定義控件添加到表單中,並嘗試了按鈕的行為,但是當嘗試將其綁定到 excel 時,我感到驚訝! 我得到System.NullReferenceException: 'Referencia a objeto no establecida como instancia de un objeto。' 指的是活動工作簿。

似乎 Excel.Application 實際上不適用於用戶控件。

    _xlapp = New Excel.Application
    Xlwb = _xlapp.ActiveWorkbook 'Fires the Exception
    XlAsh = Xlwb.ActiveSheet

我試圖通過馬歇爾得到對象

     Dim _xlapp=Excel.Application
    _xlapp=ctype(GetObject("Excel.Application"),Excel.Application)
     Xlwb = _xlapp.ActiveWorkbook
     XlAsh = Xlwb.ActiveSheet

它是一樣的。

我還嘗試刪除 Usercontrol 項目中的引用(絕望地嘗試過),因此它可能綁定到 Addin Active Instance。

我不太確定 Interop 如何表現控制級別。

有任何想法嗎?

您不需要創建新的 excel 應用程序實例,因為您已經有了一個正在運行加載項的實例。 你需要使用
Dim xlApp As Excel.Application = Globals.ThisAddIn.Application
反而。
這將獲得一個應用程序對象,其中加載了您的插件,您將能夠獲得它的所有方法和屬性(如xlApp.ActiveSheetxlApp.ActiveWorkbook )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM