为什么VBA不通过外部.exe文件创建文件?

时间:2017-04-06 19:10:03

标签: vba excel-vba shell excel

我有用C#编写的测试程序。它只是在这个exe文件所在的目录中创建一个文本文件。

class Program
    {
        static void Main(string[] args)
        {
            string exactPath = Path.GetFullPath("test.txt");
            File.Create(exactPath);
            Console.ReadLine();
        }
    }

现在VBA正在通过Call Shell运行它

    strProgramName = ActiveWorkbook.path & "\test.exe"
    Call Shell("" & strProgramName & "")

一切似乎都很好。除了它不创建任何文件,它应该。如果我手动运行它会创建一个文件。

Shell的MS文档指出:

  

Shell函数需要非托管代码权限,这可能是   影响其在部分信任情况下的执行。更多   信息,请参阅SecurityPermission和代码访问权限。

所以我认为我的test.exe无权创建文件。

0 个答案:

没有答案