Sub ReverseTextFileContentsWithDialog()
' 创建文件选择对话框
Dim dialog As FileDialog
Set dialog = Application.FileDialog(msoFileDialogFilePicker)
' 设置对话框
dialog.Title = "选择文本文件"
dialog.Filters.Clear
dialog.Filters.Add "文本文件 (*.txt)", "*.txt"
' 显示对话框
If dialog.Show = -1 Then
' 选择了文件
Dim filePath As String
filePath = dialog.SelectedItems(1)
Else
' 未选择文件
MsgBox "文件未选择,操作中止。", vbExclamation
Exit Sub
End If
' 读取文本文件
Dim fileContent As String
Open filePath For Input As #1
fileContent = Input$(LOF(1), 1)
Close #1
' 将文本以换行符分割并存储到数组中
Dim fileLines() As String
fileLines = Split(fileContent, vbCrLf)
' 对数组进行逆序排序
Dim reversedLines() As String
ReDim reversedLines(UBound(fileLines))
For i = UBound(fileLines) To 0 Step -1
reversedLines(UBound(fileLines) - i) = fileLines(i)
Next i
' 以写入模式打开文本文件
Dim outputFile As Integer
outputFile = FreeFile
Open filePath For Output As #outputFile
' 将逆序后的数据写入文件
For i = 0 To UBound(reversedLines)
Print #outputFile, reversedLines(i)
Next i
' 关闭文件
Close #outputFile
' 显示消息框
MsgBox "文本文件的内容已被反转。", vbInformation
End Sub