簡體   English   中英

XLAM / XLA 插件:有更好的方法嗎?

[英]XLAM / XLA Addins: is there a better way?

這篇文章是關於在不創建鏈接的情況下安裝 XLAM。 (每個人都討厭鏈接)。 考慮微不足道的插件:

    Public Function UDF_HELLO(x)
        UDF_HELLO = "Hello " & x
    End Function

將此代碼和其他任何內容放入模塊中,並在桌面上保存為“Hello.xlam”(而不是在默認的 excel 插件文件夾中)。 接下來,在 HELLO.XLAM 仍處於打開狀態時,使用公式創建一個新的 XLSX 工作簿

      =UDF_Hello("world")

在單元格 A1 中,它只是在該單元格中顯示“Hello world”。 保存工作簿並退出 Excel。 現在,如果您在沒有 XLAM 的情況下重新打開工作簿,Excel 會抱怨“鏈接到其他來源......”。 無論您單擊“更新”還是“不更新”,Excel 都會像這樣修改單元格 A1 中的公式:

    ='C:\Documents and Settings\tpascale\Desktop\Hello.xlam'!UDF_Hello("world")

很多時候這種“強制鏈接”是不可取的。 在我的計算環境中,有很多臨時分析,在我們為解決當前問題而拼湊的每個 XLAM 上強加安裝方案是沒有意義的。 我只想將 XLAM 文件分發給用戶,讓他們在需要時打開它們,而不必擔心最輕微的錯誤步驟會導致他們的公式被破壞。

題:

有沒有辦法指示 Excel 永遠不要為 UDF 構造外部鏈接,並且只是在加載 UDF 時使用它們,否則返回 #VALUEs ?

我不知道使用 .xla/.xlam 加載項解決此問題的方法。

但 .xll 加載項不會出現此問題。 這些可以使用Excel 2010 SDK在 C 中創建,或者使用免費的Excel-DNA庫在 VB.NET 或 C# 等托管語言中創建。

(免責聲明:我是 Excel-DNA 的開發人員。這個問題是我使用 .xll 界面制作托管 UDF 加載項的原因之一。)

這應該可以解決您的問題,盡管它不會向 Excel 指示有關外部鏈接的信息。 我已經通過創建 XLAM、將它保存到我的桌面、將它安裝在 Excel 加載項中然后在新工作簿上使用它來自己測試它。

腳步:

  1. 保存加載項后,將其關閉。
  2. 轉到 Excel 選項--> 加載項
  3. 在管理下拉列表中選擇 Excel 加載項並按“開始”
  4. 在出現的“加載項”對話框中,單擊“瀏覽”並導航到您剛剛創建的加載項。 選擇它並點擊“確定”
  5. 如果提示將加載項保存在加載項文件夾中,請選擇“否”。 如果加載項文件后綴與正在使用的 Excel 版本不匹配,則選擇“是”可能會導致錯誤。
  6. 您的加載項應出現在“可用加載項”滾動框中,選中其框並點擊“確定”
  7. 每當您打開 Excel 時,您的加載項現在都應該處於活動狀態。
  8. 通過打開一個新工作簿並嘗試使用您的 UDF 來測試這一點。

最好的事物,

您可以讓他們打開 .xla 文件並讓 Auto_Open 過程安裝加載項。

http://www.vbaexpress.com/kb/getarticle.php?kb_id=693

excel 關閉后,您可以讓加載項自行卸載。

oAddIn.Installed = False

您可以通過使用名為 something 的工作表為您的加載項設置一個設置,讓用戶在每次使用后不卸載,然后讓單元格 A1 等於 true 或 false。

我還沒有測試過這個,但希望它對你有用。

我通常通過以下方式解決這個問題:

  1. 保存 XLA/XLAM 文件(當然在個人文件夾之外)
  2. 在工具中連接到它 - 插件
  3. 在您當前的 Excel 文件中編寫偽宏,鏈接到 XLA/XLAM 文件中的那些宏/函數。

請參閱此處回復中的詳細說明。

暫無
暫無

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

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