VBA实战 - 工作簿(WorkBook)

623 阅读1分钟

一、打开一个文件

打开一个 Excel 文件的函数为Workbooks.Open.

Set originalWb = Workbooks.Open(originalFileStr)

如果文件是带用户名和密码时,可以使用如下函数。

Set originalWb = Workbooks.Open(originalFileStr, 0, True, "用户名", "密码")

二、保存 Excel 文件

保存 Excel 的关键字为 Workbook.Save

targetWb.Save

三、关闭 Excel 文件

关闭 Excel 的关键字为 Workbook.Close

targetWb.Close

如果关闭前没有报错,Excel 会提示要不要保存。如果你的流程既不想保存又不想弹出提示。可以用下面这段代码关闭。

targetWb.Close SaveChanges = False

四、当前宏文件的文件夹的路径

ThisWorkbook 对象为当前宏对象,可以通过 ThisWorkbook.Path 获取宏文件的路径。

templetFile = ThisWorkbook.Path & "\员工奖惩自动化处理-模板.xlsx"

五、禁止 Excel 的弹窗,避免执行中断

下面设置可以禁止 Excel 的警告和异常的弹窗。

Application.DisplayAlerts = False

六、关闭屏幕更新

下面设置可以避免频发修改过程中的 Excel 刷新。

Application.ScreenUpdating = False

七、获取当前已经被打开的文件

遍历所有已经打开的 Excel 文件。

For i = 1 To Workbooks.Count
    If Workbooks(i).Name = cFile Then
        MsgBox ("不能同时打开两个同名的文件,请检查并修改文件名!")
        Exit Function
    End If
Next i

八、文件如果已经打开了不在打开

v_has_open = False
For i = 1 To Workbooks.Count
    If Workbooks(i).FullName = targetFile Then
        Set originalWb = Workbooks(i)
        v_has_open = True
    End If
Next i
If v_has_open = False Then
    Set originalWb = Workbooks.Open(targetFile)
End If
originalWb.Activate