예제 #1
0
        public void VbaError()
        {
            DirectoryInfo workingDir = new DirectoryInfo(@"C:\epplusExample\folder");

            if (!workingDir.Exists)
            {
                workingDir.Create();
            }
            FileInfo f = new FileInfo(workingDir.FullName + "//" + "temp.xlsx");

            if (f.Exists)
            {
                f.Delete();
            }
            ExcelPackage myPackage = new ExcelPackage(f);

            myPackage.Workbook.CreateVBAProject();
            ExcelWorksheet excelWorksheet  = myPackage.Workbook.Worksheets.Add("Sheet1");
            ExcelWorksheet excelWorksheet2 = myPackage.Workbook.Worksheets.Add("Sheet2");
            ExcelWorksheet excelWorksheet3 = myPackage.Workbook.Worksheets.Add("Sheet3");
            FileInfo       f2             = new FileInfo(workingDir.FullName + "//" + "newfile.xlsm");
            ExcelVBAModule excelVbaModule = myPackage.Workbook.VbaProject.Modules.AddModule("Module1");
            StringBuilder  mybuilder      = new StringBuilder(); mybuilder.AppendLine("Sub Jiminy()");

            mybuilder.AppendLine("Range(\"D6\").Select");
            mybuilder.AppendLine("ActiveCell.FormulaR1C1 = \"Jiminy\"");
            mybuilder.AppendLine("End Sub");
            excelVbaModule.Code = mybuilder.ToString();
            myPackage.SaveAs(f2);
            myPackage.Dispose();
        }
 /// <summary>
 /// Construct a worksheet that can get macros loaded from embedded resources
 /// </summary>
 /// <param name="worksheetName">Name of the worksheet</param>
 /// <param name="excelWorkbook">Excel workbook to add worksheets to</param>
 protected WorkSheet(string worksheetName, ExcelWorkbook excelWorkbook)
 {
     _worksheet = excelWorkbook.Worksheets.Add(worksheetName);
     if (_worksheet.Workbook.VbaProject == null)
     {
         _worksheet.Workbook.CreateVBAProject();
     }
     _macroModule = excelWorkbook.VbaProject.Modules.AddModule($"{worksheetName}Commands");
 }
예제 #3
0
 public static void Init(TestContext context)
 {
     _pck = OpenPackage("FormControl.xlsm", true);
     _pck.Workbook.CreateVBAProject();
     _codeModule = _pck.Workbook.VbaProject.Modules.AddModule("ControlEvents");
 }