sách gpt4 ăn đã đi

c# - 将变量从控制台传递到 vbs 再到 Excel 宏

In lại Tác giả: Walker 123 更新时间:2023-11-30 21:00:57 24 4
mua khóa gpt4 giày nike

我正在尝试将变量传递给以下代码集:

来自用 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 '<<<<<<<<<<<<<
XL.Workbooks("PassInVariable.xlsm").close false
XL.quit
Set XL=nothing

然后在 PassInVariable.xlsm 文件中,我得到以下内容:

Option Explicit
Sub xxx(x As String)

MsgBox x

End Sub

có vẻ VBScript 文件中的变量 strFolder 是问题所在,因为如果我将其替换为诸如“hello”之类的文字,则该变量将移至 excel VBA .

我如何修复 vbs 文件,以便变量可以传递到生产线?

câu trả lời hay nhất

VBScript 中的所有变量都是Variant。您不能通过引用将 Variant 传递给需要引用字符串的方法。但是,您可以按值传递它,因为这样解释器会为您进行转换。

Sẽ Sub xxx Sửa đổi thành Sub xxx(ByVal x As String)

关于c# - 将变量从控制台传递到 vbs 再到 Excel 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14552586/

24 4 0
Đề xuất bài viết: C# 深入 : Type Constraint
Đề xuất bài viết: c - 基于C的抽象数据类型列表数组中的memcpy
Đề xuất bài viết: c# - 直接编辑模式下的 Gridview
Đề xuất bài viết: c++ - 从C迁移到C++
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress