zhouyunj 发表于 2012-3-27 22:27

每周二培训笔记分享【第09讲】工作簿操作--2012年02月28日

感谢兰版的精彩教学,受益匪浅,万分感激!
以下所有笔记均为兰版每周二晚培训课程的本人做的笔记--完整版

【第9讲】工作簿操作--2012年02月28日
主要内容:
1、新建工作簿
2、打开工作簿
3、保存工作簿
4、关闭工作簿
5、工作簿事件
-------------------------------------------------
上节回顾---计算a1至a16之间是否存在步长不是1的, 不是1就将B列对应的值从1重新计划,否则累加1
Sub px()
Dim x As Integer, k As Integer
For x = 2 To 16
    If range("a" & x) - 1 <> range("a" & x-1) Then -- 如果"a2"-1的值不等于"a1"的值,那么
   k = 1
    Else
   k = k + 1
    End If
    range("b" & x) = k
Next x
End Sub

--新建工作薄
Sub 新建()
workbooks.add   --带后缀s的代表一类集合,如:workbooks, worksheets等
End Sub
Sub 新建()
Workbooks.Add
End Sub

Sub 新建并保存1()
Workbooks.Add
ActiveWorkbook.SaveAs "c:\Mbook1.xlsx"'路径正反斜杠都可以识别
End Sub

'保存 当前工作簿到 指定目录
Sub 保存2()
Workbooks.Add
ThisWorkbook.SaveAs "c:\Mbook1.xlsx"
End Sub
'当前活动工作簿 保存到当前模块代码所在目录
Sub 保存3()
Workbooks.Add
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\abc.xlsx"
End Sub

Sub 新建并保存3()
Dim MBOOK As Workbook
Set MBOOK = Workbooks.Add
    MBOOK.SaveAs "c:\MBOOKhaha.XLSX"
Set MBOOK = Nothing   '释放对象
End Sub

'打开指定工作簿
Sub 打开工作簿()
    Workbooks.Open "c:\mbook1.xlsx"
End Sub
'打开指定工作簿标准写法
Sub 打开工作簿2()
    Workbooks.Open Filename:="c:\mbook1.xlsx"
End Sub

'打开相对路径下的文件:当前模块代码所在文件夹的路径 ThisWorkbook.Path & "abc.xlsx"
Sub 打开工作簿3()
    Workbooks.Open ThisWorkbook.Path & "\ccd.XLSX"
End Sub
'当前文件夹下的B子文件夹下的c.xlsx
Sub 打开c文件()
    Workbooks.Open ThisWorkbook.Path & "\b\c.xlsx"
End Sub
'thisWorkBook 与 ActiveWorkBook的区别
'thisWorkBook指宏代码所在的工作薄
'activeWorkBook不一定是指宏代码所在的工作薄

'打开密码保护的文件
Sub 打开密码保护文件()
    Workbooks.Open "c:\mbook.xlsx", Password:="123"
End Sub

'判断文件是否打开
Sub 判断文件打开状态()
Dim x As Integer
For x = 1 To Workbooks.Count
    If Workbooks(x).Name = "Mbook1.xls" Then
      MsgBox "文件已打开"
      Exit Sub
    End If
Next x
End Sub
'thisworkbook当前模块代码工作簿的保存
Sub 保存()
    ThisWorkbook.Save
End Sub
'另存为
Sub 另存为()
    ActiveWorkbook.SaveAs "c:\mybook.xlsx"
End Sub
'另存为备份文件
Sub 备份()
    ActiveWorkbook.SaveCopyAs "c:\mybook.xlsx"
End Sub
'例:备份 abc.xlsx文件 到 相同目录下 ,文件名为 abc备份.xlsx
Sub 备份2()
    ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\abc备份.xlsx"
End Sub
Sub 备份3()
   ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\abc备份2.xlsx"
End Sub
'另存并加密
Sub 另存并加密()
    ActiveWorkbook.SaveAs "c:\mybook.xlsx", Password:="123"
End Sub
'关闭工作簿
Sub 关闭所有工作簿()
    Workbooks.Close
End Sub
'关闭指定工作簿 --关闭名称为"book1.xlsx"的工作簿
Sub 关闭指定工作簿()
    Workbooks("book1.xlsx").Close
End Sub
'关闭指定工作簿 --关闭第3个打开的工作簿
Sub 关闭第3个打开的工作簿()
    Workbooks(3).Close
End Sub
'关闭指定的工作簿并保存--close savechages:=True
Sub 关闭指定的工作簿并保存()
    Workbooks(MYbook.xlsx).Close savechanges:=True
End Sub

-----工作簿事件
'关闭表格时的事件:备份
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ActiveWorkbook.SaveCopyAs "c:\bc备份.xlsx"
End Sub
'打开表格时的事件:。。。
Private Sub Workbook_Open()
MsgBox "打开了"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Cancel = True
    MsgBox "休想关闭!"
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Cancel = True
    MsgBox "休想打印,你中毒了!"
End Sub

'Target代表当前正在修改的单元格
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    'If Sh.Name = "Sheet2" Then’针对sheet2的行为
    MsgBox "请勿修改此文档"
    Application.EnableEvents = False
    Target.Value = MM'MM 是workbook_SheetSlectionChange的内容
    Application.EnableEvents = True
    'End If
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    MM = Target.Value
    'range("a1").Select'限制区域,不允许复制
End Sub

yl_li 发表于 2012-3-30 13:16

感谢分享课堂笔记!

jxcaixiaomeng 发表于 2012-3-30 13:18

感谢分享笔记大公无私啊

ls 发表于 2012-5-17 02:33

感谢分享课堂笔记!

jlf2003 发表于 2012-5-19 12:19

感谢分享课堂笔记!

byzd20011 发表于 2020-6-1 11:30


感谢分享课堂笔记!
页: [1]
查看完整版本: 每周二培训笔记分享【第09讲】工作簿操作--2012年02月28日