标签 ‘ vba

[Excel VBA] 破解Excel工作簿保护

同事工作簿保护密码忘记了,正好找到一个,亲测有效,Excel2007通过。记录一下,以备不时之需。

Sub 破解工作薄保护()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, AllowUsingPivotTables:=True
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFiltering:=True, AllowUsingPivotTables:=True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:= _
False, AllowFiltering:=True, AllowUsingPivotTables:=True
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowFiltering:=True, AllowUsingPivotTables:=True
ActiveSheet.Unprotect
End Sub
  • [Excel VBA] 破解Excel工作簿保护已关闭评论

[Excel VBA]单元格更改后自动排序

项目正好用到,记录一下,excel 2007 测试通过。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
i = Selection.Row
j = Selection.Column

Range("A6").Select
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
Cells(i, j).Select
End If
End Sub

  • [Excel VBA]单元格更改后自动排序已关闭评论

工作好帮手哦 MS Outlook VBA 宏-邮件规则

        MS Outlook 的邮件规则满了,怎么办,还有那么多邮件要分类存放、处理。。。不要怕【宏】帮你忙,可以自动回复特定邮件,可以自动存档带附件的邮件,配合其他Office中的组件,可以基本你可以不用动手就帮你把事情做完嘻嘻,别告诉老板,你使用宏做的哦,否则 嘿嘿…

        一起来尝试编制一个宏吧,可以实现收到指定发件人后,将邮件移动到指定目录等。Outlook中 【alt】+【F11】,输入如下代码:

Sub EmailFilter(Item As MailItem)
    ' 声明变量,好处是编辑器知道变量类型之后可以进行自动提示。
    Dim id As String
    Dim email As Outlook.MailItem
    Dim objApp As Outlook.Application
    Dim objNS As Outlook.NameSpace
    Dim inbox As Outlook.MAPIFolder

    ' 取得收件夹和下面的三个子目录
    Set objApp = Application
    Set objNS = objApp.GetNamespace("MAPI")
    Set inbox = objNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
    id = Item.EntryID
    Set email = Application.Session.GetItemFromID(id)

    '收到主题中含有 "表扬" 字样的邮件,直接丢到已删除邮件中
    If email.Subject Like "*表扬*" Then email.Move objNS.Folders("个人文件夹").Folders("已删除邮件")

    '收到抄送自己的(或者其他重要邮件),设置标记为红色,以便快速查看
    If email.CC = "抄送自己的" Then email.FlagIcon = olRedFlagIcon

    '设置发件人,一旦符合,执行操作,可以删除,可以移动到指定文件夹(文件夹的文件夹...),可以回复,可以...
    Select Case email.SenderName
        Case "XXXXXX"
        email.Move inbox.Folders("XXX")
    End Select
End Sub

        在编辑器中保存后,切换到 Outlook 界面,点击菜单【工具】–>【规则和通知】–>【新建规则】–>【选择 从空白规则开始:邮件到达时检查】–>【条件:仅在本机】–>【动作:运行脚本,在弹出窗口中选择之前创建的脚本】–>【点击完成】

        有啥不明白的,偶们一起探讨 🙂

VBA 隐含模块中的编译错误 解决办法

在Office 2003下面编的小程序,在office 2000下无法正常运行,提示:隐含模块中的编译错误:MainForm。程序无法运行,自动退出。调试发现,一些内置函数都会报相同错误,莫名啊。
  阅读全文

  • VBA 隐含模块中的编译错误 解决办法已关闭评论

return top