vba生成excel文件

vba生成excel文件,第1张

使用vba生成一个excel 文件,可以使用以下方法:

1 Workbooks.Add 方法

1.1 语法

新建一个工作表。新工作表将成为活动工作表。

语法

表达式.Add(Template)

表达式 一个代表 Workbooks 对象的变量。

参数

名称 必选/可选 数据类型 说明

Template 可选 Variant 确定如何创建新工作簿。如果此参数为指定现有 Microsoft Excel 文件名的字符串,那么创建新工作簿将以该指定的文件作为模板。如果此参数为常量,新工作簿将包含一个指定类型的工作表。可为以下 XlWBATemplate 常量之一:xlWBATChart、xlWBATExcel4IntlMacroSheet、xlWBATExcel4MacroSheet 或 xlWBATWorksheet。如果省略此参数,Microsoft Excel 将创建包含一定数目空白工作表的新工作簿(该数目由 SheetsInNewWorkbook 属性设置)。

返回值

一个代表新工作簿的 Workbook 对象。

说明

如果 Template 参数指定的是文件,则该文件名可包含路径。

1.2 workbooks.add 会自动打开一个“工作簿1”这类的wb文件,并activate之

workbooks.add 会自动生成一个 " 工作簿N" 的WB文件,且active

workbooks.add 在add后,会打开一个“工作簿1”这类的wb文件

并且最后add的 wb文件 成为新的 activeworkbook

Sub test98()

Workbooks.Add

End Sub

1.3 workbooks.add(template)

template Variant 类型,可选

1.3.1 template如果指定为 EXCEL内置的常量

可为以下 XlWBATemplate 常量之一

xlWBATChart

xlWBATExcel4IntlMacroSheet

xlWBATExcel4MacroSheet

xlWBATWorksheet

Sub test91()

Workbooks.Add (xlWBATChart)

Workbooks.Add (xlWBATWorksheet)

Workbooks.Add (xlWBATExcel4MacroSheet)

Workbooks.Add (xlWBATExcel4IntlMacroSheet)

End Sub

1.3.2 若 template指定为文本,文本是一个文件路径,文件必须先存在

(暂时没发现有什么用处)

template 如果本参数为指定一现有 Microsoft Excel 文件名的字符串,那么创建新工作簿将以该指定的文件作为模板

如果template指定为文件,文件必须先存在,否则报错。

那么template为一个路径

如果是完整的绝对路径,则需要带path

如果只是相对路径,那么 excel 2010版本会去这儿找这个文件:D\用户目录/我的文档下面 ,默认目录?

好像指定过后会把新的路径当默认路径

Sub test96()

Workbooks.Add (ThisWorkbook.Path &"\" &ActiveSheet.Name &".xlsx")

End Sub

Sub test97()

Workbooks.Add (ActiveSheet.Name &".xlsx")

End Sub

2、thisworkbook.sheets(1).copy

这个是将当前代码所在工作簿的左侧第一张表拷贝生成新的工作簿文件。新文件包含一张表格。具体对应的文件跟表格可以根据需求调整

excel启用运行宏方法:

1、工具-宏-录制新宏,会出现对话框,设置快捷按钮(编辑区会出现一个小工具栏,先不管它)

2、假如想新编的宏是一个经常使用的页面设置,那就按平时设置页面那样 *** 作,当页面设置好后,按刚才在编辑区出现的工具栏中的停止按钮即可。

3、当你新建一个文档要页面设置时,只需按最初设好的快捷按钮就可以完成 *** 作。

注意:如果将 Microsoft Office Excel 中的宏安全级别设为“禁用所有宏,并且不通知”,则 Excel 将只运行具有数字签名或存储在受信任位置(如 Excel 启动文件夹)中的那些宏。如果要运行的宏没有数字签名或不在受信任位置,您可以临时更改启用所有宏的安全级别。

运行宏

一、如果“开发工具”选项卡不可用,执行下列 *** 作以显示此选项卡:

1.单击“Office 按钮”

,然后单击“Excel 选项”。

2.在“常用”类别中的“使用 Excel 时采用的首选项”下,选中“在功能区显示‘开发工具’选项卡”复选框,然后单击“确定”。

二、临时将安全级别设置为启用所有宏,执行下列 *** 作:

1.在“开发工具”选项卡上的“代码”组中,单击“宏安全性”。

2.在“宏设置”类别中的“宏设置”下,单击“启用所有宏(不推荐,可能会运行有潜在危险的代码)”,然后单击“确定”。

①.请打开包含宏的工作簿。

②.在“开发工具”选项卡上的“代码”组中,单击“宏”。

③.在“宏名”框中,单击要运行的宏。

④.请执行下列 *** 作之一:

若要在 Excel 工作簿中运行宏,请单击“运行”。

提示:您也可以按 Ctrl+F8 来运行宏,按 Esc 可以中断宏的执行。

要从 Microsoft Visual Basic 模块中运行宏,请单击“编辑”,然后在“运行”菜单上,单击“运行子/用户表单

,或按 F5。

按 Ctrl 组合快捷键运行宏

1.如果“开发工具”选项卡不可用,执行下列 *** 作以显示此选项卡:

①.单击“Office 按钮”

,然后单击“Excel 选项”。

②.在“常用”类别中的“使用 Excel 时采用的首选项”下,选中“在功能区显示‘开发工具’选项卡”复选框,然后单击“确定”。

2.在“开发工具”选项卡上的“代码”组中,单击“宏”。

3.在“宏名”框中,单击要分配给 Ctrl 组合快捷键的宏。

4.单击“选项”。

5.在“快捷键”框中,键入要使用的任何小写字母或大写字母。

6.在“说明”框中,键入对该宏的描述。

7.单击“确定”,然后单击“取消”。

通过单击快速访问工具栏上的按钮来运行宏

1.单击“Office 按钮”

,然后单击“Excel 选项”。

2.单击“自定义”,然后在“从下列位置选择命令”列表中,选择“宏”。

3.在列表中,单击创建的宏,然后单击“添加”。

4.若要更改宏的按钮图像,请在添加宏的框中选择该宏,然后单击“修改”。

5.在“符号”下,单击要使用的按钮图像。

6.若要更改将指针停留在按钮上时显示的宏名,请在“显示名称”框中键入要使用的名称。

7.此时,单击“确定”便会将宏按钮添加到快速访问工具栏。

8.在快速访问工具栏上,单击宏按钮。

通过单击图形对象上的区域来运行宏

1.在工作表中,选择现有图形对象,如图片、剪贴画、形状或 SmartArt。

2.要在现有对象上创建热点,请在“插入”选项卡的“插图”组中,单击“形状”,选择要使用的形状,然后在现有对象上绘制形状。

3.右键单击创建的热点,然后在快捷菜单上,单击“指定宏”。

4.请执行下列 *** 作之一:

●要给图形对象指定现有宏,请双击宏或在“宏名”框中输入宏的名称。

●要录制一个新宏以将其指定给选定的图形对象,请单击“录制”。在录制完宏后,单击“停止录制”

(在“开发工具”选项卡上的“代码”组中)。提示:您也可以单击状态栏左边的“停止录制”

●若要编辑现有宏,请在“宏名”框中单击宏的名称,然后单击“编辑”。

5.单击“确定”。

6.在工作表中,选择热点。

提示:这将显示“绘制”工具,并添加“格式”选项卡。

7.在“格式”选项卡的“形状样式”组中,执行下列 *** 作:

●单击“形状填充”旁边的箭头,然后单击“无填充”。

●单击“形状轮廓”旁边的箭头,然后单击“无轮廓”。

打开工作簿时自动运行宏

如果您录制一个宏并用“Auto_Open”这一名称保存它,每次您打开包含此宏的工作簿时,它都会运行。另一种在打开工作簿时自动运行宏的方法是使用 Visual Basic 编辑器在工作簿的 Open 事件中编写 Microsoft Visual Basic for Applications (VBA) 过程。Open 事件是一个内置的工作簿事件,它会在您每次打开该工作簿时都运行自己的宏代码。

●创建一个 Auto_Open 宏

●为工作簿的 Open 事件创建一个 VBA 过程

以上就是excel启用运行宏的方法,希望可以帮助到大家。

sub test()

dim arr()

dim wb as workbook

arr = application.getOpenFileName("Excel文件,*.xls*",2,,,true)       ‘  *.xls*表示打开的文件格式为xls*,true表示可以多选

if arr (1) <>"False" then

    for i = Lbound(arr) to Ubound(arr)        'Lbound和Ubound分表表示数组的上标和下标

        set wb = workbooks.open(arr(i))

         ......

          ......            '写需要对打开工作簿的 *** 作

        wb.close

    next

end if

end sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11431651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存