把下面的条件加入以下代码——另存为(就是询问是否保存更改的那步里的)的默认保存格式为.txt,保存路径为D:\script
-----------------------------------------------------------------------
Option Explicit
Dim strFileName As String '文件名
Dim blnModified As Boolean '保存后是否编辑过Private Sub Form_Load()
Caption = "文本编辑器"
End SubPrivate Sub Form_Resize() '使文本框占据整个窗体的客户区
txtEdit.Top = 0: txtEdit.Left = 0
txtEdit.Width = ScaleWidth: txtEdit.Height = ScaleHeight
End SubPrivate Sub mnuFileNew_Click() '新建文件
Dim int1 As Integer
If blnModified Then '如果有未保存的文件,提示保存
int1 = MsgBox("新建文件前是否保存当前文件?", 35, "注意")
If int1 = 6 Then
SaveFile '保存文件
ElseIf int1 = 2 Then
Exit Sub
End If
End If
Caption = "文本编辑器"
txtEdit.Text = ""
strFileName = ""
blnModified = False
End SubPrivate Sub mnuFileOpen_Click() '打开文件
Dim strTemp1 As String, strTemp2 As String
Dim int1 As Integer
If blnModified Then '如果有未保存的文件,提示保存
int1 = MsgBox("打开新文件前是否保存当前文件?", 35, "是否保存")
If int1 = 6 Then
SaveFile '保存文件
ElseIf int1 = 2 Then
Exit Sub
End If
End If
strTemp1 = InputBox("请输入要打开的完整文件名:", "文件名") '输入文件名
If strTemp1 = "" Then
Exit Sub
Else
strFileName = strTemp1
Caption = "文本编辑器:" & strFileName '改变窗体标题
Open strFileName For Input As 1 '从文件中读入文本
Do While Not EOF(1)
Line Input #1, strTemp1 '整行读入
strTemp2 = strTemp2 & strTemp1 & Chr(13) & Chr(10) '行尾加回车和换行
Loop
Close 1
txtEdit.Text = strTemp2
blnModified = False
End If
End Sub
Private Sub mnuFileSave_Click()
SaveFile '保存文件
End SubPrivate Sub mnuFileSaveAs_Click() '另存为
Dim strTemp As String
strTemp = InputBox("请输入完整文件名:", "文件名")
If strTemp = "" Then
Exit Sub
Else
strFileName = strTemp
Caption = "文本编辑器:" & strFileName
SaveFile
End If
End SubPrivate Sub SaveFile() '保存文件
If strFileName = "" Then
strFileName = InputBox("请输入被保存文件的完整文件名:", "文件名")
If strFileName = "" Then
Exit Sub
End If
Caption = "文本编辑器:" & strFileName
End If
Open strFileName For Output As 1
Print #1, txtEdit.Text
Close 1
blnModified = False
End Sub
Private Sub mnuFileExit_Click()
Unload Me
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim int1 As String
If blnModified Then
int1 = MsgBox("文件尚未保存,退出时是否保存?", 35, "注意")
If int1 = 6 Then
SaveFile
ElseIf int1 = 2 Then
Cancel = 1
End If
End If
End SubPrivate Sub txtEdit_Change()
blnModified = True
End Sub
-----------------------------------------------------------------------
Option Explicit
Dim strFileName As String '文件名
Dim blnModified As Boolean '保存后是否编辑过Private Sub Form_Load()
Caption = "文本编辑器"
End SubPrivate Sub Form_Resize() '使文本框占据整个窗体的客户区
txtEdit.Top = 0: txtEdit.Left = 0
txtEdit.Width = ScaleWidth: txtEdit.Height = ScaleHeight
End SubPrivate Sub mnuFileNew_Click() '新建文件
Dim int1 As Integer
If blnModified Then '如果有未保存的文件,提示保存
int1 = MsgBox("新建文件前是否保存当前文件?", 35, "注意")
If int1 = 6 Then
SaveFile '保存文件
ElseIf int1 = 2 Then
Exit Sub
End If
End If
Caption = "文本编辑器"
txtEdit.Text = ""
strFileName = ""
blnModified = False
End SubPrivate Sub mnuFileOpen_Click() '打开文件
Dim strTemp1 As String, strTemp2 As String
Dim int1 As Integer
If blnModified Then '如果有未保存的文件,提示保存
int1 = MsgBox("打开新文件前是否保存当前文件?", 35, "是否保存")
If int1 = 6 Then
SaveFile '保存文件
ElseIf int1 = 2 Then
Exit Sub
End If
End If
strTemp1 = InputBox("请输入要打开的完整文件名:", "文件名") '输入文件名
If strTemp1 = "" Then
Exit Sub
Else
strFileName = strTemp1
Caption = "文本编辑器:" & strFileName '改变窗体标题
Open strFileName For Input As 1 '从文件中读入文本
Do While Not EOF(1)
Line Input #1, strTemp1 '整行读入
strTemp2 = strTemp2 & strTemp1 & Chr(13) & Chr(10) '行尾加回车和换行
Loop
Close 1
txtEdit.Text = strTemp2
blnModified = False
End If
End Sub
Private Sub mnuFileSave_Click()
SaveFile '保存文件
End SubPrivate Sub mnuFileSaveAs_Click() '另存为
Dim strTemp As String
strTemp = InputBox("请输入完整文件名:", "文件名")
If strTemp = "" Then
Exit Sub
Else
strFileName = strTemp
Caption = "文本编辑器:" & strFileName
SaveFile
End If
End SubPrivate Sub SaveFile() '保存文件
If strFileName = "" Then
strFileName = InputBox("请输入被保存文件的完整文件名:", "文件名")
If strFileName = "" Then
Exit Sub
End If
Caption = "文本编辑器:" & strFileName
End If
Open strFileName For Output As 1
Print #1, txtEdit.Text
Close 1
blnModified = False
End Sub
Private Sub mnuFileExit_Click()
Unload Me
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim int1 As String
If blnModified Then
int1 = MsgBox("文件尚未保存,退出时是否保存?", 35, "注意")
If int1 = 6 Then
SaveFile
ElseIf int1 = 2 Then
Cancel = 1
End If
End If
End SubPrivate Sub txtEdit_Change()
blnModified = True
End Sub
Dim strTemp As String
strTemp = InputBox("请输入完整文件名:", "文件名")
If strTemp = "" Then
Exit Sub
Else
strFileName = strTemp
Caption = "文本编辑器:" & strFileName
'//这里还需要判断同文件名的问题
'//以及strTemp 是否是有效的文件路径,包括非法字符存在等
Open strTemp For Output As 1
Print #1, txtEdit.Text
Close 1
End If
End SubPrivate Sub SaveFile() '保存文件
If strFileName = "" Then
strFileName = InputBox("请输入被保存文件的完整文件名:", "文件名")
If strFileName = "" Then
Exit Sub
End If
Caption = "文本编辑器:" & strFileName
End If
Open strFileName For Output As 1
Print #1, txtEdit.Text
Close 1
blnModified = False
End Sub