首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以使用vba从.net程序返回字符串?

是否可以使用vba从.net程序返回字符串?
EN

Stack Overflow用户
提问于 2013-08-16 12:31:17
回答 2查看 602关注 0票数 3

我有这个vba代码

代码语言:javascript
运行
复制
Dim strpath As String
Dim this As String
strpath = "C:\Users\johbra\Documents\Visual Studio 2010\Projects\WindowsApplication6\WindowsApplication6\bin\Debug\WindowsApplication6.exe"
this = Shell(strpath)

MsgBox this

我在.net程序中也有这个函数

代码语言:javascript
运行
复制
Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    dothis()
    Application.Exit()

End Sub

Function dothis()
    Return "HI"
End Function
End Class

我想让vba代码给我一个留言盒,上面写着“HI”。这个是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-16 13:18:46

从VBA调用.NET代码的最可接受和最可靠的方法是将.NET类公开为COM类(不需要额外的代码,只需在项目属性中勾选适当的框),然后在VBA项目中添加COM类的引用,这是其他COM类的调用方式,并调用函数。

这里有一个指南,说明这是如何做到的。

如果你需要更多的细节,请告诉我如何做到这一点。

票数 3
EN

Stack Overflow用户

发布于 2013-08-16 12:34:52

我认为您需要使用命令行参数来尝试这一点。

比如:

代码语言:javascript
运行
复制
    Dim CommandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Application.CommandLineArgs

    For i As Integer = 0 To CommandLineArgs.Count - 1
        MessageBox.Show(CommandLineArgs(i))
    Next

将参数传回VBA脚本;

代码语言:javascript
运行
复制
         Console.WriteLine("Message")

可以在VBA代码中捕获控制台结果..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18273397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档