我在程序里面做了“保存”和“另存为”两个按钮,就像word一样。如果是新文件,第一次按“保存”的时候会让你选择保存的地址,没有关闭文件的情况下,再次按保存按钮,就按第一次存的地址存文件。而不是再次弹出保存对话框选择路径。请教,这个怎么写程序?给个大概的例子。

解决方案 »

  1.   

    使用了COMMONDIALOG应该都会弹出对话框的吧
    Commondialog.DialogTitle="文件另存为"
    Commondialog.InitDir="D:\"
    Commondialog.Filter="*.Txt"
    Commondialog.ShowSave
    ........
      

  2.   

    dim lastfilename
    第一次保存
    弹出对话框
    lastfilename=Commondialog.filename
    saveto lastfilename第二次保存
    if lastfilename<>"" then
        saveto lastfilename
    end if
      

  3.   

    我的程序大致如下,我希望不要有太多的全局变量产生。
    Private Sub mnu_save_Click()
        Dim filenum As Integer
     
    On Error Resume NextWith savefile
      .CancelError = True
      On Error GoTo ErrHandler
      .Flags = cdlOFNExplorer Or _
               cdlOFNLongNames Or _
               cdlOFNHelpButton
      .DialogTitle = "保存文件"
      .InitDir = "D:\communication\"
                 .filter = "所有文件(*.*)|*.*|文本文件" & _
                 "(*.c2)|*.c2|批文件(*.bat)|*.bat"
      .FilterIndex = 2
      .ShowSave
    End WithIf savefile.filename <> "" Then
        filenum = FreeFile()
        Open savefile.filename For Output As #filenum
         Write #filenum,****
         Close filenum
    End If
      

  4.   


        Dim filenum As Integer    Static strFN As String    On Error Resume Next    If Dir(strFN) = "" Then        With savefile
                .CancelError = True            On Error GoTo ErrHandler            .Flags = cdlOFNExplorer Or cdlOFNLongNames Or cdlOFNHelpButton
                .DialogTitle = "保存文件"
                .InitDir = "D:\communication\"
                .Filter = "所有文件(*.*)|*.*|文本文件" & "(*.c2)|*.c2|批文件(*.bat)|*.bat"
                .FilterIndex = 2
                .ShowSave
            End With        strFN = savefile.FileName
        End If    If Dir(strFN) <> "" Then
            filenum = FreeFile()
            Open savefile.FileName For Output As #filenum
            Write #filenum,****
            Close filenum
        End If