繁体   English   中英

通过 Excel 互操作打开 VBA 文件 excel 参数

[英]Open VBA file excel with parameters by Excel Interop

我有一个程序执行 VBA excel 文件,其参数如下

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;

object _ExcelPathLocation = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe", "Path", null);

 if (sugbdika.Equals("פולס"))
            {
                startInfo.FileName = FileName;
                startInfo.Arguments = Arguments;
            }
            else
            {
                startInfo.FileName = $"{_ExcelPathLocationStr}EXCEL.EXE ";
                startInfo.Arguments = "/x " + FileName + " " + Arguments;
            }
 Process p = Process.Start(startInfo);

命令行如下所示:

startInfo.FileName => C:\\Program Files (x86)\\Microsoft Office\\Root\\Office16\\EXCEL.EXE startInfo.Arguments=> /x \\\\FILES\\~Departments\\tadWeb_reports\\Milenium.xltm /t/LE-15576/A/4/3.0/3.0实际上我想用这个参数字符串打开\\FILES\~Departments\tadWeb_reports\Milenium.xltm文件,例如/t/LE-15576/A/4/3.0/3.0

如何通过 Excel 互操作来做到这一点?

我必须尝试做

object oMissing = System.Reflection.Missing.Value;

            Microsoft.Office.Interop.Excel.Application oExcel = new Microsoft.Office.Interop.Excel.Application();

            oExcel.Visible = true;

            Microsoft.Office.Interop.Excel.Workbooks oBooks = oExcel.Workbooks;
            Microsoft.Office.Interop.Excel._Workbook oBook = null;

            oBook = oBooks.Open($"{startInfo.Arguments}", oMissing, oMissing,
                oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
                oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);

要在下一行使用 open: \\\\FILES\\~Departments\\tadWeb_reports\\Milenium.xltm /t/LE-15576/A/4/3.0/3.0

我该怎么做?

你是在正确的途径 - Workbooks.Open方法打开一个工作簿。 很可能您必须在本地复制文件然后打开它。

如果您需要获取命令行 arguments,您可以使用Environment.GetCommandLineArgs方法返回一个字符串数组,其中包含当前进程的命令行 arguments。

Application.Workbooks.Open(@"C:\Test\YourWorkbook.xlsx");

有关详细信息,请参阅如何:以编程方式打开工作簿

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM