gpt4 book ai didi

excel - 从文本中提取数据并自毁

转载 作者:行者123 更新时间:2023-12-04 22:03:02 24 4
gpt4 key购买 nike

我目前正在一个使用 Excel VBA 的 Uni 项目中工作,我正在尝试找到一种方法来创建一个如果找不到“ key ”就会自毁的 Excel。如果这完全不可能,那么至少要确保没有留下任何数据或 VBA 代码。

这个想法是,使用

Private Sub Workbook_Open()
Dim direct As String, name As String
name = ActiveWorkbook.Name
ChDir ThisWorkbook.Path
direct = ThisWorkbook.Path
Call Checker(direct, name)
End Sub

打开 excel 后,它将查找“Key.txt”,它应该与 excel 位于同一文件夹中,并检查文档中的一个文本字符串是否与项目中的“公共(public)常量”“代码”匹配.

我一直在尝试找到一种方法来阅读“Key.txt”而不打开它,但没有发现任何东西。

另一方面,我一直在测试使程序删除原始excel文件的各种方法,不同程度的成功。所以我一直在测试的一个有点迂回的方法是让excel SaveAs为“.xlsx”并在关闭之前删除原始文件,但它并没有像我希望的那样工作。

这是我用于“自毁”方法的代码:
Option Explicit
Function Checker(MyPath As String, name As String)

On Error Resume Next
Application.DisplayAlerts = False
Dim myPath2 As String
Dim ws As Worksheet
Dim FSO As Object

myPath2 = MyPath

ActiveWorkbook.SaveAs Filename:=MyPath & "\0_0.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "1"
For Each ws In Worksheets 'Deletes all other sheets
If ws.Name <> "1" Then ws.Delete
Next

Set FSO = CreateObject("scripting.filesystemobject")
If Right(MyPath, 1) = "\" Then MyPath = Left(MyPath, Len(MyPath) - 1)
If FSO.FolderExists(MyPath) = False Then MsgBox MyPath & " doesn't exist"

FSO.deletefile MyPath & "\" & name, True 'Deletes original file

ActiveWorkbook.Save
ActiveWorkbook.Close

End Function

最佳答案

拥有一个自毁文件是一个有趣的想法。简短的回答是您不能删除正在运行的 VBA 宏。因此,没有 VBA 宏可以本质上自毁。然而,我能想到两种选择:

(1) 删除除正在运行的宏之外的所有内容。以下代码可能有助于实现这一目标。
http://www.erlandsendata.no/english/index.php?d=envbavbedeleteallmacros

(2) 关闭文件并要求 Windows 之后使用任务计划器为您删除文件。以下关于 SO 的帖子可能会对此有所帮助。
Using Excel vba Macro to be run through Windows Schedule Task

其他诱人的解决方案可能是将文件另存为 .xlsx 或创建一个新的 Excel 文件,将上述代码从选项 1 复制到该文件中,调用新创建的代码,这实际上会删除原始文件。

但我要问自己的真正问题是:这个人是如何得到自毁文件的?是通过电子邮件发送的,并且文件仍在电子邮件中吗?文件是否被复制了?某些临时文件夹中是否有隐藏副本(记住 Excel 自动安全每隔 xx 分钟以防计算机崩溃以保存您的工作)?打开文件时是否启用宏(以允许自毁)?该人是否可以使用许多免费程序从 Windows 机器恢复文件来恢复文件(非常容易,因为 Windows 不会删除文件或在顶部写入加密数据以确保无法恢复,而只是“标记”该空间在 HD 上,该文件可以免费用于下一个文件)?

关于excel - 从文本中提取数据并自毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com