首页 » PHP教程 » php类内部函数挪用技巧_vba中调用NET 的 内部函数

php类内部函数挪用技巧_vba中调用NET 的 内部函数

访客 2024-11-08 0

扫一扫用手机浏览

文章目录 [+]

在 VBA 中调用 .NET 的内部函数,是通过 COM(Component Object Model)互操作来实现的。

详细如下:

php类内部函数挪用技巧_vba中调用NET 的 内部函数

创建 .NET 类库:创建一个 .NET 类库(DLL),个中包含从 VBA 调用的内部函数,并确保这个类库对 COM 可见。

php类内部函数挪用技巧_vba中调用NET 的 内部函数
(图片来自网络侵删)

标记 .NET 类库:在 .NET 项目中,将希望公开给 COM 的类和方法标记为 ComVisible。
同时,为类库分配一个 GUID。

注册 .NET DLL:利用 regasm.exe 工具注册.NET DLL,可以被 COM 客户端( VBA)利用。

在 VBA 中引用 .NET 类库:在 VBA 中添加创建的 .NET 类库的引用,然后在 VBA 中创建该类库的实例,并调用其方法。

----------------------------------------------------------------------

1. 创建 .NET 类库

创建一个新的 .NET 类库项目,添加公开给 VBA 调用的方法。

using System;using System.Runtime.InteropServices;namespace MyDotNetLibrary{ [ComVisible(true)] [Guid("12345678-1234-1234-1234-1234567890AB")] [ClassInterface(ClassInterfaceType.None)] public class MyComClass : IMyComClass { public MyComClass() { } public string HelloWorld() { return "Hello from .NET!"; } } [ComVisible(true)] [Guid("AB123456-1234-1234-1234-1234567890CD")] public interface IMyComClass { string HelloWorld(); }}

2. 注册 .NET DLL

编译 .NET 类库后,利用 regasm 工具注册天生的 DLL。

例如:

regasm /codebase MyDotNetLibrary.dll

3. 在 VBA 中引用 .NET 类库

打开 Excel 或 Word,进入 VBA 编辑器,添加引用:

进入 工具 -> 引用,选择 .NET DLL

4. 在 VBA 中调用 .NET 方法

添加引用后,在 VBA 代码中利用 .NET 类。

Sub CallDotNetMethod() Dim obj As Object Set obj = CreateObject("MyDotNetLibrary.MyComClass") MsgBox obj.HelloWorld()End Sub

把稳:

确保 .NET 类库的所有公开类和方法都标记为 ComVisible(true)。

确保 .NET 类库已精确注册到系统中。

确保在 VBA 中精确添加了对 .NET 类库的引用。

标签:

相关文章

PHP顶岗实技巧_软件技能实训解决筹划2024

在这一背景下,培养高本色的软件人才显得尤为主要。为此,我国提出了一系列举措,包括加强软件国民根本教诲、深化新工科培植、加快特色化示...

PHP教程 2024-12-14 阅读0 评论0