Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Microsoft Access生成包含宏的Excel电子表格_Excel_Ms Access_Vba_Worksheet - Fatal编程技术网

使用Microsoft Access生成包含宏的Excel电子表格

使用Microsoft Access生成包含宏的Excel电子表格,excel,ms-access,vba,worksheet,Excel,Ms Access,Vba,Worksheet,虽然可以使用Office Access生成数百个Office Excel电子表格,但最好将宏添加到生成的工作簿中 我想为生成时的每个电子表格向VBA项目中的对象“ThisWorkbook”添加函数。一个人怎么做呢 提前谢谢你 假设所有生成的工作簿中的宏都相同 创建包含所有VBA代码(以及可选的常量文本,如页眉、页脚、打印范围定义等)的模板,即“除数据外的所有内容”) 从模板创建任何新工作簿 将数据插入WB对象 启用“另存为宏”的工作表(Excel 2007/2010) 关上它 范例 Sub

虽然可以使用Office Access生成数百个Office Excel电子表格,但最好将宏添加到生成的工作簿中

我想为生成时的每个电子表格向VBA项目中的对象“ThisWorkbook”添加函数。一个人怎么做呢


提前谢谢你

假设所有生成的工作簿中的宏都相同

  • 创建包含所有VBA代码(以及可选的常量文本,如页眉、页脚、打印范围定义等)的模板,即“除数据外的所有内容”)
  • 从模板创建任何新工作簿
  • 将数据插入WB对象
  • 启用“另存为宏”的工作表(Excel 2007/2010)
  • 关上它
范例

Sub CreateWB()
Dim WB As Workbook

    Set WB = Workbooks.Add("MacroTemp.xltm")   ' contains VBA, ActiveX, etc.
    WB.Worksheets("Sheet1").[A1] = "co-cooo!"  ' adding data
    WB.SaveAs "MyGenWB", xlOpenXMLWorkbookMacroEnabled
    WB.Close
End Sub

在Excel 2007/2010中,不要忘记将模板另存为启用宏的模板(*.xltm”)。

我会通过复制一个包含函数的现有工作簿来完成。如果这对您不起作用,请告诉我们更多关于您的情况。谢谢,这太棒了@MikeD。我没有想到将其插入模板中。解决了我所有的需要。