I try join two different excel file, both has vba
i add sheet´s and vba content fileB to fileA
I generate a third file FileAFileB, when open the file occors compile error, if i compile(Vba Project Compile) file works.
fileA is base file to add sheet from fileB, I try join two different excel file, both has vba
i add sheet´s and vba content fileB to fileA
I generate a third file FileAFileB, when open the file occors compile error, if i compile(Vba Project Compile) file works.
fileA is base file to add sheet from fileB, there must be a way to Compile VBA Project from a new file for errors stop.
var stream = HelperFileStream.GetResourceFileStream("fileA.xlsm");
var pv = new Aspose.Cells.Workbook(stream);
var areaStream = HelperFileStream.GetResourceFileStream("fileB.xlsm");
var area = new Aspose.Cells.Workbook(areaStream);
var planilha1 = area.Worksheets["Planilha1"];
pv.Worksheets.Add(planilha1.Name);
pv.Worksheets[planilha1.Name].Copy(planilha1);
var Tabela = area.Worksheets["Tabela"];
pv.Worksheets.Add(Tabela.Name);
pv.Worksheets[Tabela.Name].Copy(Tabela);
var wksStr2DB = area.Worksheets["STR2SB"];
pv.Worksheets.Add(wksStr2DB.Name);
pv.Worksheets[wksStr2DB.Name].Copy(wksStr2DB);
var Visibilidade = area.Worksheets["Visibilidade"];
pv.Worksheets.Add(Visibilidade.Name);
pv.Worksheets[Visibilidade.Name].Copy(Visibilidade);
foreach (var item in area.VbaProject.Modules)
{
if (item.Type == VbaModuleType.Procedural || item.Type == VbaModuleType.Class)
{
var index = pv.VbaProject.Modules.Add(item.Type, item.Name);
pv.VbaProject.Modules[index].Codes = item.Codes;
}
}
foreach (var item in area.VbaProject.References)
{
if (!pv.VbaProject.References.Any(w => w.Name == item.Name))
{
pv.VbaProject.References.AddRegisteredReference(item.Name, item.Libid);
}
}
pv.Save(@"E:\Temp\fileAfileB.xlsm", Aspose.Cells.SaveFormat.Xlsm);
Assert.True(true);