【GH】【EXCEL】P8: Marco

Add Marco and Run

image-20240821000744173

Result display

image-20240821001054421

VBA Marco code and analysis

Sub SaveTimeStampedBackup()

'Create variable to hold the new file path
Dim saveAsName As String

'Set the file path
saveAsName = ActiveWorkbook.Path & "\" & _
Format(Now, "yymmdd-hhmmss") & " " & ActiveWorkbook.Name

'Save the workbook
ActiveWorkbook.SaveCopyAs Filename:=saveAsName

End Sub

Excel VBA宏,用于创建当前工作簿的时间戳备份Time Stamped Backup。逐行分析:

  1. Sub SaveTimeStampedBackup()

    • 这行定义了一个名为 SaveTimeStampedBackup 的子程序(宏)。
  2. Dim saveAsName As String

    • 声明一个名为 saveAsName 的字符串变量,用于存储新文件的完整路径。
  3. saveAsName = ActiveWorkbook.Path & "\" & _
    Format(Now, "yymmdd-hhmmss") & " " & ActiveWorkbook.Name

    • 这行构建新文件的路径和名称:
      • ActiveWorkbook.Path: 获取当前工作簿所在的文件夹路径
      • "\": 添加反斜杠作为路径分隔符
      • Format(Now, "yymmdd-hhmmss"): 创建一个时间戳 (年月日-时分秒)
      • ActiveWorkbook.Name: 获取当前工作簿的文件名
  4. ActiveWorkbook.SaveCopyAs Filename:=saveAsName

    • 使用 SaveCopyAs 方法保存当前工作簿的副本,文件名为刚才构建的 saveAsName

功能总结:
这个宏会在当前工作簿所在的文件夹中创建一个新的备份文件。新文件的名称格式为:
“YYMMDD-HHMMSS 原文件名.xlsx”
例如,如果原文件名是 “Report.xlsx”,在2024年5月1日15:30:45运行这个宏,
生成的文件名将会是 “240501-153045 Report.xlsx”。

这种方法的优点:

  1. 自动化备份过程
  2. 使用时间戳确保每次备份都有唯一的文件名
  3. 保留原文件名,便于识别
  4. 不会覆盖或修改原文件

这是一个非常实用的宏,特别适合需要定期备份重要Excel文件的场景。

Components

Add Macro

image-20240821001709102


Add a macro to a Workbook


Input parameters:

Workbook (Generic Data) A Worksheet, Workbook, Range Object, Excel Application, or Text Workbook Name

Name (Text) The unique name of the Macro

Code (Text) The vba code for the macro

Type (Integer) The type

ClassModule
Document
MSForm
StdModule
ActiveX

Activate (Generic Data) The active status of the component

Output parameters:

Workbook (Generic Data) An Excel Workbook Object

Type这些不同类型的 VBA 组件。它们都是 VBA (Visual Basic for Applications) 项目中的不同模块或组件类型:

  1. ClassModule(类模块):

    • 用于创建自定义对象和类。
    • 允许你定义具有属性、方法和事件的新对象类型。
    • 适用于创建可重用的代码结构和实现面向对象编程。
  2. Document(文档模块):

    • 与特定的 Excel 工作表或工作簿相关联。
    • 通常用于处理特定工作表或工作簿的事件(如打开、保存、关闭等)。
    • 每个工作表和工作簿都有自己的文档模块。
  3. MSForm(用户窗体):

    • 用于创建自定义对话框或用户界面。
    • 可以添加各种控件(如按钮、文本框、下拉列表等)来与用户交互。
    • 允许创建复杂的用户输入界面和自定义功能。
  4. StdModule(标准模块):

    • 最常用的模块类型。
    • 包含可以在整个 VBA 项目中使用的通用过程和函数。
    • 不与特定对象相关联,可以包含公共和私有的子程序。
  5. ActiveX(ActiveX 控件):

    • 允许在 Excel 工作表中嵌入交互式控件。
    • 例如按钮、滚动条、复选框等。
    • 这些控件可以直接放置在工作表上,并与 VBA 代码交互。

这些不同类型的组件使 VBA 成为一个强大和灵活的编程环境,允许开发者创建从简单宏到复杂应用程序的各种功能。每种类型都有其特定的用途和优势,选择哪种类型取决于你要实现的具体功能和编程需求。

Run Macro

image-20240821002027069


Run a macro in a Workbook


Input parameters:

  • Workbook (Generic Data) A Worksheet, Workbook, Range Object, Excel Application, or Text Workbook Name
  • Name (Text) The unique name of the Macro
  • Activate (Generic Data) If true, the component will be activated

Output parameters:

  • Workbook (Generic Data) An Excel Workbook Object
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hmywillstronger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值