VBA代码,功能为批量删除指定文件夹下所有Excel文件中所有工作簿里指定某人比如张三的批注
时间: 2024-10-17 10:16:03 浏览: 45
批量删除当前文件夹内所有文件名指定字符后所有的字符.bat
VBA(Visual Basic for Applications)是一种微软Office应用程序使用的宏语言,可以用于自动化任务,包括在Excel中操作文件。以下是一个简单的VBA脚本,它将遍历指定文件夹下的Excel工作簿,并删除其中包含特定姓名(如“张三”的批注)的所有工作簿:
```vba
Sub DeleteAnnotations()
Dim objFSO As Object ' 引入文件系统对象
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim strFolderPath As String ' 文件夹路径
strFolderPath = "C:\Your\Folder\Path" ' 替换为你需要删除的文件夹路径
Dim objFolder As Object ' 文件夹对象
Set objFolder = objFSO.GetFolder(strFolderPath)
Dim objFile As Object ' Excel文件对象
Dim objWorkbook As Workbook ' 工作簿对象
Dim ws As Worksheet ' 单元格对象
For Each objFile In objFolder.Files
If Right(objFile.Name, 4) = ".xls" Or Right(objFile.Name, 5) = ".xlsx" Then ' 检查是否是Excel文件
Set objWorkbook = Workbooks.Open(objFile.Path)
For Each ws In objWorkbook.Worksheets
If Not ws.Comments Is Nothing Then
ws.Comments.DeleteIf CommentAuthor:="张三" ' 删除名为“张三”的批注
End If
Next ws
objWorkbook.Close SaveChanges:=False ' 关闭并忽略更改
End If
Next objFile
Set objWorkbook = Nothing
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
End Sub
```
阅读全文