首页 > 解决方案 > 通过VBA执行批处理文件写入文件不起作用

问题描述

我的 VBA 代码运行一个批处理文件,该文件调用一个可执行文件(C# 应用程序)。此 exe 用于从数据源导出数据并将其写入在当前目录的子文件夹中创建的文件中。当我运行此代码时,它会启动命令提示符并调用 exe,但此 exe 不会在我的子文件夹中创建文件。当我手动运行这个 exe 时,它​​成功地完成了这项工作。

这是运行批处理文件的 VBA 代码:

Call Shell("C:\Users\Administrator\Desktop\ClientApp\ExportData.exe 0", vbNormalFocus)

而且,这是来自 C# 应用程序的代码,它创建一个文件并将结果写入其中:

File.WriteAllText(Directory.GetCurrentDirectory() + "\\temp.bat", command + columnKeys);

var process = Process.Start(Directory.GetCurrentDirectory() + "\\temp.bat");
process.WaitForExit();

C# 代码调用的批处理从数据源导出数据,并将其写入子文件夹中的 csv 文件。

我无法理解我需要在哪里进行更改 - 无论是在 VBA 代码中还是在 C# 代码中 - 以便代码可以写入文件。我该如何解决这个问题?

标签: c#vbabatch-file

解决方案


推荐阅读