C# Office Com 開發 Excel插件與函數dll注冊


這篇別處抄不到,只有自己懟。

1、先使用 regasm工具注冊dll到注冊表

2、插件dll,即com addin的dll需要寫注冊表的Excel插件項;函數dll,即automation-add-in只需要regasm注冊后使用Excel的加載項(Automation)加載即可使用

3、使用vbs代碼啟用com addin 與函數Automation(addin)

下面是注冊表 與 Excel啟用addin代碼:

 

 

bat代碼:

@echo off
::echo Register for 64 bit Excel.......
set a=%~dp0
set addin=%a%Com.FToolsforExcel.dll
set function=%a%Com.FToolsforExcel.UDF.dll
set load=%a%load.vbs

:: The RegAsm tool adds the necessary class and interface information to the registry
:: %SystemRoot% means "C:\Windows"
%SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe "%addin%"  /CodeBase
%SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe "%function%"  /CodeBase

:: add Registry keys to "HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins"
echo Windows Registry Editor Version 5.00 >add.reg
echo.
echo [HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\Com.FToolsforExcel.MyConnect] >>add.reg
echo "Description"="Com.FToolsforExcel.MyConnect" >>add.reg
echo "FriendlyName"="FTools for Excel ComVersion"  >>add.reg
echo "LoadBehavior"=dword:02 >>add.reg
regedit /s add.reg
del /q add.reg

:: run load vbscript
CScript  "%load%"

::echo Register successful
::pause
exit

bat調用的vbs代碼:

On Error Resume Next
Dim oExcel
Set oExcel= GetObject(, "Excel.Application")
if Err.Number = 0 Then
    oExcel.COMAddIns("Com.FToolsforExcel.MyConnect").Connect = True
    oExcel.AddIns("Com.FToolsforExcel.UDF.Functions").Installed = True
else
    Set oExcel = CreateObject("Excel.Application")
    oExcel.COMAddIns("Com.FToolsforExcel.MyConnect").Connect = True
    oExcel.AddIns("Com.FToolsforExcel.UDF.Functions").Installed = True
    oExcel.Quit
end if

 

學習英文可以看

C# Office Com Addin開發第一步

自定義函數UDF可以參考:

https://www.codeproject.com/Articles/552375/ExcelplusUDFpluslibraryplusinplusC-23plusfrompluss

https://bettersolutions.com/csharp/excel-interop/csharp-excel-functions-automation-add-ins.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM