【发布时间】:2016-08-11 18:02:49
【问题描述】:
我最近开始使用 Visual Basic Studio 使用 .NET Visual Basic 进行编程。我也在使用 excel VBA 来制作一些宏。如果有人能回答我的问题,我将不胜感激,如果答案很明显,我很抱歉,我才刚刚开始:
基本上,如果我在excel VBA中设置了一个变量,例如:
dim text as string
text = "hello world"
我是否可以在 Visual Basic 中编程时使用该变量,并让它保留在 Excel VBA 宏中设置时的值。
如果您需要澄清,请发表评论。
非常感谢。
解决方案:
好的,我在解决方案的帮助下设法弄清楚了,在 VB 中工作的代码如下:
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Core
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim oxl As excel.application
Dim owb As excel.workbook
Dim osheet As Excel.worksheet
Dim orng As excel.Range
Dim strtext As String
oxl = CreateObject("Excel.application")
owb = oxl.Workbooks.Open(Filename:="C:\Users\USERNAME\Documents\Variable Passing Test.xlsm")
oxl.Run("dosomethingtostrtext")
strtext = oxl.Run("getstrtext")
MsgBox(strtext)
End Sub
End Class
【问题讨论】:
-
传递值始终是可能的,但你将如何做取决于你想对这些值做什么。两个程序是否并排运行,在彼此之间传递值并以锁定步骤运行?还是一个正在运行并在某处存储一些输出以供另一个在下次运行时获取?它们是否必须单独运行,或者您可以在 .NET 应用程序中执行 VBA 宏吗?
标签: vba excel visual-studio-2012