|
感谢兰版的精彩教学,受益匪浅,万分感激!
以下所有笔记均为兰版每周二晚培训课程的本人做的笔记--完整版
【第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
|
评分
-
查看全部评分
|