2014-11-03 38 views
1

您好朋友,我正在使用vss 2012,Excel 2013.我试图将导出的网格视图记录导入Excel工作表。 Excel工作表会很好。所以我做的是我在一张Excel表格中创建了我的设计宏。所以现在我拥有那个特定宏的代码。使用c在Excel表格中运行宏#

现在我想在新的Excel表格中使用这个宏(设计)。就像每天说新的记录将被添加到网格视图,并在一天结束时,如果我点击导出到Excel我应该创建一个新的Excel与宏的设计和所有记录。那可能吗??

这可能是实施这个困难..我在网上找不到任何与此有关的东西。所以,请如果有人知道这个请让我知道...

+0

这听起来像什么你真的需要的是一个数据库... – 2014-11-03 10:38:52

+0

我通常可以做Gridview.rendercontrol(HtmltextWriter)..但我需要那是在不同的模板,用一些公式可以获取特定用户的完整记录的详细信息... – user3452210 2014-11-03 10:42:03

回答

2

您可以使用此代码插入VBA宏:

public void SetVBACode(string _macro) 
    { 
     VBProject project = workbook.VBProject; 
     VBComponents components = project.VBComponents;   
     VBComponent component =components.Add(vbext_ComponentType.vbext_ct_StdModule); 
     component.CodeModule.AddFromString(_macro); 
    } 

而且使用这种方法运行它们:

public void RunVBACode(string _name) 
    { 
     excelApplication.RunVBACode(_name); 
    } 
+0

请你能澄清两种方法的输入争论吗? ..是_宏是我的宏的路径? – user3452210 2014-11-03 10:46:27

+0

宏 - 是vba宏作为字符串的测试; _name - 是要启动的vba宏的名称 – demas 2014-11-03 10:51:04

+0

是否有可能从一个xlsm扩展工作簿获取宏,并在其他工作表中运行该宏? – user3452210 2014-11-03 11:00:25