目的:

目前有很多共享软件都有试用期,过了使用期后就不能使用了。但是把系统时间退回去又可以使用了。我们可以简单的利用VBA技术把系统时间该回去执行共享软件。

原理:

1.设定打开程序的路径

2.打开前取得系统时间

3.把系统时间调整到启动程序的安装时间到过期时间中的任意一个时间

4.把系统时间设置到启动前的时间。

5.把自动关闭设置为自动的话,下次启动的时间就会自动启动默认程序。

画面:

------------------------------------------------

閉じる: [自動  ▼]

[実行]   [・・・]   [C:/Windwos/notepad.exe ]

[実行]   [・・・]   [                 ]

[実行]   [・・・]   [                 ]

------------------------------------------------

ThisBook的代码:

Private Sub Workbook_Open()
    Dim sPath As String
    Dim execDate As String
   
    If Cells(5, 7).Value = "自動" Then
        sPath = Cells(7, 16).Value
        execDate = Cells(7, 11).Value
        If doExec(sPath, execDate) = True Then
            ThisWorkbook.Close
        End If
    End If
End Sub

------------------------------------------------------------------------------------------------------------------------------------

Sheet1的代码:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim sPath As String
    Dim execDate As String
   
    If Target.Cells(1, 1) = "実行" Then
        sPath = Cells(Target.Row, 16).Value
        execDate = Cells(Target.Row, 11).Value
        Call doExec(sPath, execDate)
    ElseIf Target.Cells(1, 1) = "・・・" Then
        sPath = Cells(Target.Row, 16).Value
        Call doGetPath(sPath)
        If sPath <> "" Then
            Cells(Target.Row, 16).Value = sPath
            ThisWorkbook.Save
        End If
    End If
   
    Cells(Target.Row, 2).Select
End Sub

-----------------------------------------------------------------------------------------------------------------------------------

添加bas的代码:

Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

Function doExec(ByVal sPath As String, ByVal execDate As String) As Boolean
    Dim dCurrDate As Date
   
    On Error GoTo ERR_FUN
   
    dCurrDate = Date
   
    If Trim(execDate) = "" Then
        MsgBox "実行日付を設定してください。"
        doExec = False
        Exit Function
    ElseIf Trim(sPath) = "" Then
        MsgBox "実行プログラムのパスを設定してください。"
        doExec = False
        Exit Function
    End If
   
    Date = execDate
   
    Call Shell(sPath, vbMaximizedFocus)
   
    Date = dCurrDate
    doExec = True
   
    Exit Function
ERR_FUN:
    doExec = False
    MsgBox Err.Description
End Function

Sub doGetPath(ByRef sPath As String)
    Dim ofn As OPENFILENAME
    Dim rtn As String
   
    On Error GoTo ERR_FUN
   
    ofn.lStructSize = Len(ofn)
    'ofn.hwndOwner = Me.
    'ofn.hInstance = Me.Application.hInstance
    ofn.lpstrFilter = "*.exe"
    ofn.lpstrFile = Space(254)
    ofn.nMaxFile = 255
    ofn.lpstrFileTitle = Space(254)
    ofn.nMaxFileTitle = 255
    ofn.lpstrInitialDir = sPath
    ofn.lpstrTitle = "打開文件"
    ofn.flags = 6148
    rtn = GetOpenFileName(ofn)
   
    If rtn >= 1 Then
         sPath = ofn.lpstrFile
    Else
        sPath = ""
    End If
   
    Exit Sub
ERR_FUN:
    MsgBox Err.Description
End Sub

[VBA]VBA编写的时光倒流软件相关推荐

  1. 时光倒流-第12届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第88讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  2. 假如时光倒流,我会这么学习Java 1

    回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路. [入门] 我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到 ...

  3. 初学者编写python用什么软件好_初学者编写python用什么软件

    初学者编写python用什么软件 以下是常用的几款Python代码编辑器和Python集成开发工具. 一.Python代码编辑器 1. Sublime Text Sublime Text是一款非常流行 ...

  4. 基于PYQT编写一个人脸识别软件(2)

    前言 以前在博客:基于PYQT编写一个人脸识别软件 中给出了我自己用PYQT编写的一个小软件.鉴于使用的是开源库--face_recogniton,尽管使用很简单,但是还有些问题,比如:识别黄种人时效 ...

  5. 有些错误,即便时光倒流也无法弥补——《时光幻境》

    当我们追溯独立游戏的起源,就会发现其实独立游戏已经有很长的历史了,早在九十年代就有独立游戏开发者或团队,截止到目前独立游戏已有将近三十年的历史.之所以要在这里提独立游戏的历史,是因为今天说的这款游戏, ...

  6. git branch 为什么会进入编辑状态_Git很难,搞砸很容易,好在有神奇命令让时光倒流...

    Git很难,搞砸很容易,更糟糕的是搞砸了还不清楚什么问题. 虽然Git文档很全面,但不清楚什么问题,不知道问题名称,连搜索答案都无从下手.国外小哥也有遇到这些问题,因此搞了个 ohshigit 的网站 ...

  7. python语音转文字软件_python编写语音转文字软件|语音转文字工具免费版下载(语音批量转换文字) v2.0 最新版_数码资源网...

    没有专业的工具怎么能够将语音转换为文字呢?小编为大家提供了语音转文字工具免费版,一款通过Python编写语音转文字软件.用户通过使用语音转文字工具免费版,可以将语音批量转换文字,而且操作也是非常的简单 ...

  8. c语言图书管理系统用什么软件,编写c语言的软件 纯C语言编写图书管理系统.doc...

    编写c语言的软件 纯C语言编写图书管理系统 编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 导读:就爱阅读网友为您分享以下"纯C语言编写图书管理系统WORD文档bbszp& ...

  9. c语言之bbs管理系统,编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp.doc...

    编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 导读:就爱阅读网友为您分享以下"纯C语言编写图书管理系统W ...

  10. 是你吗?为超炫的 USB 硬件编写更好的软件

    Scott Hanselman Corillian Corporation 本文中的代码 讨论本文 打印版本 注:该项目的源代码仅仅是一个开始.在 SourceForge 中,该代码会进一步发展.访问 ...

最新文章

  1. java silk转mp3_微信小程序录音文件格式silk遇到的问题及解决方法
  2. Keil错误Unable to automatically place AT section malloc.o(.ARM.__AT_0x20000000) with required base add
  3. 数据结构:单向链表的反转
  4. java try catch_Java中关于try、catch、finally中的细节分析
  5. C++的三种容器适配器
  6. 关于IPC入侵的一些细节
  7. RocketMQ的核心概念讲解
  8. HBase架构设计及原理分析
  9. 如何用python画哆啦爱梦_python3 turtle 绘制哆啦A梦
  10. Java :内部类基础详解
  11. 打印流-PrintStream和PrintWriter
  12. FZU Problem 2198 快来快来数一数(矩阵快速幂 卡常数 +优化)
  13. sketchup(草图大师)-倒圆角-避免破面现象
  14. 给群联PS3111/inic6081量产工具添加闪存颗粒支持
  15. Windows本地认证
  16. 【Excel文件合并工具】
  17. 每个计算机主机只有一个硬盘吗,电脑多加一个硬盘需要重装系统吗? 电脑如何新增加一块硬盘...
  18. for key in file_keys
  19. Windows注册服务的两种方式,并设置服务开机自启
  20. 2022 Q2 GO开发者问卷调查结果

热门文章

  1. 浏览器Browser截屏截长图使用记录220813
  2. ora03113通信通道的文件结尾 会话id 149 序列号 3
  3. PS各种实用的辅助工具
  4. Linux共享文件夹
  5. 学堂在线计算机通信网络,第二章 数据通信的基础知识 计算机网络笔记 学堂在线 2.4差错控制...
  6. ASP.NET学生管理系统(.NET毕业设计)
  7. cass二次开发vba和lisp_CAD二次开发LISP视频_小懒人CAD工具箱_CAD插件_CASS插件_LISP代码...
  8. 全球首个用户分享区块链+AI大数据体系,专业跨境医疗机构“海医通”发布XMC“海医链”
  9. 【UE4】特效之 Particle System 详解(一)—— 综述
  10. 工程笔记阶段1-DAC正弦波实验