| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 555 人关注过本帖
标题:文档保存
只看楼主 加入收藏
睿翼
Rank: 3Rank: 3
来 自:广东
等 级:论坛游侠
帖 子:40
专家分:175
注 册:2010-12-13
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:3 
文档保存
求记事本保存代码?
搜索更多相关主题的帖子: 文档 保存 
2010-12-21 18:13
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:3 
open

无知
2010-12-21 23:56
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:8 
程序代码:
Private Sub mnuFileSave_Click()                             '保存菜单
    '用应用程序向导生成的
    Dim sFile As String
    If Left$(ActiveForm.Caption, 8) = "Document" Then       '无文件名
        With dlgCommonDialog                                '设置保存文件对话框
            .DialogTitle = "保存"
            .CancelError = False
            'ToDo: 设置 common dialog 控件的标志和属性
            .Filter = "所有文件 (*.*)|*.*"
            .ShowSave                                       '显示对话框
            If Len(.FileName) = 0 Then                      '如果返回的文件名为空白,如取消了
                Exit Sub                                    '放弃操作
            End If
            sFile = .FileName                               '读出文件名来
        End With
        If Dir(sFile) <> "" Then
            If MsgBox(sFile & " 文件已存在,是否覆盖?", vbOKOnly, "文件存在") = vbOK Then
                Call savetext(sFile, ActiveForm.Text1.Text)         '调用保存
                ActiveForm.Caption = sFile                          '把文件名放在子窗口的标题上
            End If
        Else
            Call savetext(sFile, ActiveForm.Text1.Text)     '调用保存
            ActiveForm.Caption = sFile                      '把文件名放在子窗口的标题上
        End If
    Else
        sFile = ActiveForm.Caption                          '从窗体标题上读文件名
        Call savetext(sFile, ActiveForm.Text1.Text)         '调用保存
    End If

End Sub

Private Sub savetext(sFileName As String, ByRef sStr As String)

'sFileName  文件名
'sStr       文件内容,按地址传递,也就是传递指针

Const TMPFile = "~tmp.tmp"          '临时文件名

On Error GoTo err1:

Dim lFree As Long
lFree = FreeFile                    '取下一个文件名

Open TMPFile For Output As lFree    '打开文件
    Print #lFree, sStr              '保存内容
Close #lFree

If Dir(sFileName) <> "" Then        '如果原文件名存在
    Kill sFileName                  '删掉
End If
    FileCopy TMPFile, sFileName     '复制生成新文件
                                    '不使用改名就防止临时文件与目标文件不在一个路径下,就会改名失败
    Kill TMPFile                    '删临时文件

Exit Sub

err1:
   MsgBox "保存时出现错误,未能成功保存", vbCritical, "保存文件时错误"

End Sub


[ 本帖最后由 风吹过b 于 2010-12-22 13:29 编辑 ]

授人于鱼,不如授人于渔
早已停用QQ了
2010-12-22 13:21
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:4 
写复杂了一点,算尽量完善版吧.如果文件保存时出现错误,不会造成原文件被覆盖,也不会生成保存了一件的目标文件.
要么成功,文件存在,
要么不成功,文件根本不生成.

响应过程,就是完成 UI 界面的功能,执行就是在下面这个过程中.
核心就是三行代码,其它代码大部分是尽量防止出现错误而写的.
Open TMPFile For Output As lFree    '打开文件
    Print #lFree, sStr              '保存内容
Close #lFree

授人于鱼,不如授人于渔
早已停用QQ了
2010-12-22 13:27
快速回复:文档保存
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044811 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved