Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式将XLL文件加载到Excel中?_C#_C++_.net_Excel_Office Interop - Fatal编程技术网

C# 如何以编程方式将XLL文件加载到Excel中?

C# 如何以编程方式将XLL文件加载到Excel中?,c#,c++,.net,excel,office-interop,C#,C++,.net,Excel,Office Interop,如何以编程方式将链接到其他DLL的XLL文件加载到Excel中。 使用c#winforms应用程序+Excel自动化,我正在创建Excel应用程序对象。然后我使用: bool bXllLoadSuccess = _excelApp.RegisterXLL(_pathXll); 当XLL是独立的时,这是正常的。当它依赖于其他DLL时,就会出现问题。即使我把它们放在同一个文件夹中,Excel也不想把它们捡起来。 在加载XLL之前,我尝试执行以下操作,但无济于事: _excelApp.Default

如何以编程方式将链接到其他DLL的XLL文件加载到Excel中。 使用c#winforms应用程序+Excel自动化,我正在创建Excel应用程序对象。然后我使用:

bool bXllLoadSuccess = _excelApp.RegisterXLL(_pathXll);
当XLL是独立的时,这是正常的。当它依赖于其他DLL时,就会出现问题。即使我把它们放在同一个文件夹中,Excel也不想把它们捡起来。 在加载XLL之前,我尝试执行以下操作,但无济于事:

_excelApp.DefaultFilePath = Path.GetDirectoryName(_pathXll);
我也试过这个:

Directory.SetCurrentDirectory(Path.GetDirectoryName(_pathXll));
Dependency walker没有显示任何问题–所有必需的文件都与XLL位于同一文件夹中。 有什么想法吗

谢谢

UPD:我尝试将所有需要的DLL复制到一个文件夹中,然后将其路径添加到path变量中。没有帮助:)


UPD2:我试图同时更改c#app和Excel应用程序对象的当前目录。没有帮助:(

当你打开文件->打开.xll时,它能工作吗?它能从VBA使用Application.RegisterXLL工作吗?是的…当我手动添加它时,它能工作。虽然没有尝试过VBA…让我试试…xll可能是用托管代码(Excel DNA/ManagedXLL/add-In Express或类似代码)构建的吗如果是这样的话,从VSTO调用时可能会出现.NET CAS问题。这里的一些帖子:当你打开文件->打开.xll时,它能工作吗?使用Application.RegisterXLL从VBA工作吗?是的…当我手动添加它时,它能工作。但是没有尝试过VBA…让我试试…xll可能是用托管代码构建的吗(Excel DNA/ManagedXL/Add-In Express或类似版本)?如果是这样,从VSTO调用时可能会出现.NET CAS问题。此处的一些帖子: