1 回答
TA贡献1825条经验 获得超6个赞
虽然我无法使用现有方法传入多个变量,但我找到了一种执行宏的替代方法,该方法允许我根据需要传递参数。
public void runTemplate(string templateName, string sourceFile, string destinationFile, string ITPath, string date)
{
string sDate = date;
Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
ExcelApp.DisplayAlerts = false;
object misValue = System.Reflection.Missing.Value;
ExcelApp.Visible = false;
Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook = ExcelApp.Workbooks.Open(sourceFile);
ExcelApp.Run("DoTheImport", sDate);
ExcelWorkBook.SaveCopyAs(destinationFile);
ExcelWorkBook.SaveCopyAs(ITPath);
ExcelWorkBook.Close(false, misValue, misValue);
ExcelApp.Quit();
if (ExcelWorkBook != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelWorkBook); }
if (ExcelApp != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelApp); }
}
我已经删除了 RunMacro 方法,只是用来ExcelApp.Run("DoTheImport", sDate);执行宏。这个方法允许我将参数传递到宏中,可以通过添加'ByVal'参数传递机制在宏中访问:
Sub DoTheImport(ByVal sDate As String)
- 1 回答
- 0 关注
- 324 浏览
添加回答
举报