作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将变量传递给以下代码集:
来自用 C#
编写的控制台应用程序:
static void Main(string[] args) {
string myPath = @"R:\xxx\xxx\xxx\test.vbs";
Process p = new Process();
ProcessStartInfo ps = new ProcessStartInfo(myPath,"hello");
p.StartInfo = ps;
p.Start();
Console.WriteLine("press [enter] to exit");
Console.ReadLine();
}
进入以下test.vbs
文件:
strFolder = Wscript.Arguments.Item(0)
Set XL=CreateObject("Excel.Application")
XL.Visible=True
XL.Workbooks.Open "\\xxx\xxx\xxx\PassInVariable.xlsm",,True
XL.Run "'PassInVariable.xlsm'!xxx", strFolder '<<<<<<<<<<<<<<PROBLEM SEEMS TO BE HERE
XL.Workbooks("PassInVariable.xlsm").close false
XL.quit
Set XL=nothing
然后在 PassInVariable.xlsm
文件中,我得到以下内容:
Option Explicit
Sub xxx(x As String)
MsgBox x
End Sub
似乎 VBScript
文件中的变量 strFolder
是问题所在,因为如果我将其替换为诸如“hello”之类的文字,则该变量将移至 excel VBA .
我如何修复 vbs 文件,以便变量可以传递到生产线?
最佳答案
VBScript 中的所有变量都是Variant
。您不能通过引用将 Variant
传递给需要引用字符串的方法。但是,您可以按值传递它,因为这样解释器会为您进行转换。
将 Sub xxx
修改为 Sub xxx(ByVal x As String)
。
关于c# - 将变量从控制台传递到 vbs 再到 Excel 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14552586/
我有本地更改和远程更改。 有人告诉我必须先推,再 pull 。这背后有什么原因吗? 最佳答案 那个人错了:正确的模型是pull-before-you-push,而不是相反。 当您pull时,git 将
我正在使用最新版本的 Flat UI Pro 1.3.2 ( http://designmodo.com/flat/ ),jQuery 插件 flatui-radiocheck v0.1.0 和 iO
我是一名优秀的程序员,十分优秀!