同题目

解决方案 »

  1.   

    用FSO
        Dim fs As New FileSystemObject
        If fs.FileExists("C:\12.txt") = True Then
            MsgBox "文件存在"
        Else
            MsgBox "文件不存在"
        End If
      

  2.   

    简单点的:
    Dir 
    语法
    Dir[(pathname[, attributes])]
    函数:返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
    参数
    常数         值   描述 
    vbNormal     0    (缺省) 指定没有属性的文件。 
    vbReadOnly   1    指定无属性的只读文件 
    vbHidden     2    指定无属性的隐藏文件 
    VbSystem     4    指定无属性的系统文件 
    vbVolume     8    指定卷标文件;如果指定了其它属性,则忽略vbVolume 
    vbDirectory  16   指定无属性文件及其路径和文件夹。 
    说明
    Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。
    示例:
      if dir("文件")<> "" then
        msgbox "文件存在"
      else
        msgbox "文件不存在"
      end if
      

  3.   


    Dir 函数
          返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。语法Dir[(pathname[, attributes])]Dir 函数的语法具有以下几个部分:部分 描述 
    pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 ("")。 
    attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。  
    设置值attributes 参数的设置可为:常数 值 描述 
    vbNormal 0 (缺省) 指定没有属性的文件。 
    vbReadOnly 1 指定无属性的只读文件 
    vbHidden 2 指定无属性的隐藏文件 
    VbSystem 4 指定无属性的系统文件 
    vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume 
    vbDirectory 16 指定无属性文件及其路径和文件夹。 
    注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。说明Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。 由于 Macintosh 不支持通配符,使用文件类型指定文件组。可以使用 MacID 函数指定文件类型而不用文件名。比如,下列语句返回当前文件夹中第一个TEXT文件的名称:Dir("SomePath", MacID("TEXT")) 为选中文件夹中所有文件,指定一空串:Dir("")在 Microsoft Windows 中,如果在Dir函数中使用MacID函数,将产生错误。任何大于256的attribute值都被认为是MacID 函数的值。在第一次调用 Dir 函数时,必须指定 pathname,否则会产生错误。如果也指定了文件属性,那么就必须包括 pathname。Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,再一次调用 Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。一旦返回值为零长度字符串,并要再次调用 Dir 时,就必须指定 pathname,否则会产生错误。不必访问到所有匹配当前 pathname 的文件名,就可以改变到一个新的 pathname 上。但是,不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。
      

  4.   

    Dim fso As New FileSystemObject
    If fso.fileexits(Form3.Text1.Text) = True Then
    MsgBox "cunzai "
    End If我这样写  为什么说是“用户定义类型未定义”, 难道还要其他的什么定义吗?
    是不是Dim fso As New FileSystemObject 有问题难道要自己定义FileSystemObject类型??
      

  5.   

    就是Microsoft Scripting Runtime
      

  6.   

    用DIR函数还是不错的。关键是它的返回结果不带路径,此外最好还要统一转换文件名的大小写。
    下面是我等待一个磁盘文件出现的代码:
    '
    Function WaitOBJ(ByVal FName As String, Optional ByVal Path As String) As Boolean
        Dim fileName    As String
        Dim Star_Sec    As Single
        Dim tmp_Sit     As Integer
        
        If Path = "" Then Path = App.Path & "\"
        tmp_Sit = InStrRev(FName, "\")
        
        If tmp_Sit > 0 Then
           Path = Path & Left(FName, tmp_Sit)
           FName = Right(FName, Len(FName) - tmp_Sit)
        End If
        FName = UCase(FName)
        Star_Sec = Timer
        Do
          If Timer < (Star_Sec + 5) Then
             fileName = Dir(Path & FName)
             fileName = UCase(fileName)
             FName = UCase(FName)
             If FName = fileName Then
                WaitOBJ = False
                Exit Do
             Else
                WaitOBJ = True
             End If
          Else
             WaitOBJ = True
             Exit Do
          End If
        Loop
    End Function
    '(呵呵,我不是专业的,天生没有算法细胞,别笑话我)
      

  7.   

    怎么样引用 filesystemobject ?是不是在“工程“菜单中选择”引用“ 然后添加一个东西? 如果是 那么添家的是什么呢?
      

  8.   

    我知道了 添加scrrun.dll fso.filedelect 是删除磁盘文件 ,为什么删除后没有放在回收站呢?而是直接就删除了??有什么方法把删除文件放在回收站?
      

  9.   

    用KILL函数是不是也是直接就删除了磁盘文件也不放回回收站呢?
      

  10.   

    转贴http://www.china-askpro.com/msg26/qa94.shtml如何将文件删除到回收站编号:QA002594
    建立日期: 2000年2月17日 最后修改日期:2000年3月16日 
    所属类别: C/C++ - 磁盘、文件和目录Visual Basic - 磁盘、文件和目录 kvdvm: 
        编程工具: C++ Builder 4 
        操作系统: win98 
        用SHFileOperation删除文件时如何将文件删除到回收站? 回答:     SHFileOperation的参数是如下的一个结构: 
        typedef struct _SHFILEOPSTRUCT { // shfos 
         HWND hwnd; 
         UINT wFunc; 
         LPCSTR pFrom; 
         LPCSTR pTo; 
         FILEOP_FLAGS fFlags; 
         BOOL fAnyOperationsAborted; 
         LPVOID hNameMappings; 
         LPCSTR lpszProgressTitle; 
        } SHFILEOPSTRUCT, FAR *LPSHFILEOPSTRUCT; 
        设置wFunc为FO_DELETE就是进行删除。如果fFlags成员包括FOF_ALLOWUNDO就是放到回收站,否则就是彻底删除。 
         
        古月剑龙问: 
        Pvb5/pwin98,主要问题:怎样使用回收站功能 
        1、在下现在遇到了一个文件操作的问题:怎么样把文件移动回收站(删除)? 在下只能在你站上找到XX站有这方面的资料(在下的E文很不好,主要是用169上网)。 
        2、这次在下最想得到一个演示源代码:在使用删除命令时,用上系统的回收站功能。 
        回答: 
        这里是一个例子: 
        1、先定义一个模块,放入以下语句: 
         Public Const FO_MOVE As Long = &H1 
         Public Const FO_COPY As Long = &H2 
         Public Const FO_DELETE As Long = &H3 
         Public Const FO_RENAME As Long = &H4 
         
         Public Const FOF_MULTIDESTFILES As Long = &H1 
         Public Const FOF_CONFIRMMOUSE As Long = &H2 
         Public Const FOF_SILENT As Long = &H4 
         Public Const FOF_RENAMEONCOLLISION As Long = &H8 
         Public Const FOF_NOCONFIRMATION As Long = &H10 
         Public Const FOF_WANTMAPPINGHANDLE As Long = &H20 
         Public Const FOF_CREATEPROGRESSDLG As Long = &H0 
         Public Const FOF_ALLOWUNDO As Long = &H40 
         Public Const FOF_FILESONLY As Long = &H80 
         Public Const FOF_SIMPLEPROGRESS As Long = &H100 
         Public Const FOF_NOCONFIRMMKDIR As Long = &H200 
         
         Type SHFILEOPSTRUCT 
         hwnd As Long 
         wFunc As Long 
         pFrom As String 
         pTo As String 
         fFlags As Long 
         fAnyOperationsAborted As Long 
         hNameMappings As Long 
         lpszProgressTitle As String 
         End Type 
         
         Declare Function SHFileOperation Lib "Shell32.dll" _ 
         Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long 
         Declare Function GetTempFileName Lib "kernel32" _ 
         Alias "GetTempFileNameA" (ByVal lpszPath As String, _ 
         ByVal lpPrefixString As String, ByVal wUnique As Long, _ 
         ByVal lpTempFileName As String) As Long 
        2、再输入下面的程序 
         Dim FileOperation As SHFILEOPSTRUCT 
         Dim lReturn As Long 
         Dim sTempFilename As String * 100 
         Dim sSendMeToTheBin As String 
         lReturn = GetTempFileName("c:\", "VB_", 0, sTempFilename) 
         sSendMeToTheBin = Left(sTempFilename, InStr(sTempFilename, _ 
         Chr$(0))) 
         With FileOperation 
         .wFunc = FO_DELETE 
         .pFrom = sSendMeToTheBin ' 要删除的文件名 
         .fFlags = FOF_ALLOWUNDO ' 放入回收站 
         End With 
         lReturn = SHFileOperation(FileOperation) 
         MsgBox "现在查看你的回收站,寻找以VB_开头的文件。" 
         
        相关问题: 
        QA001138 "如何删除目录及下面的文件和子目录" 
        QA001214 "VC中是否有API能对文件操作带通配符" 
      

  11.   

    转贴http://www.chinadesign.com.cn/NewsContents1.asp?id=3433在VB中恢复删除的文件  在WIN95下删除文件时,被删文件将自动放入回收站以备恢复时使用。在VB中有一个KILL函数可用来删除文件,但用此函数删除的文件将不会被放入回收站,想恢复时可能就比较困难。笔者经查阅API函数,发现可用SHFileOperation函数来实现这一功能,下面是一个例子,供在程序设计中有需要此功能的读者参考。
      1 此函数需要用到SHFILEOPSTRUCT结构,故首先将此结构和函数在总体声明处声明如下:
      Option Explicit
      rivate Type SHFILEOPSTRUCT
        hwnd As Long
        wFunc As Long
       pFrom As String
       pTo As String
       fFlags As Integer
       fAnyOperationsAborted As Boolean
       hNameMappings As Long
       lpszProgressTitle As String
      End Type  Private Declare Function SHFileOperation Lib "shell32.dll" Alias _
    "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long  '两个重要的参数值设定
       Private Const FO_DELETE = &H3 '删除文件
       Private Const FOF_ALLOWUNDO = &H40 '允许恢复  2 在窗体中加一命令按钮Command1,双击之,写如下代码:  '此处用来删除C:\TMP.TXT文件。
      Private Sub Command1_Click()
      Dim FileOperation As SHFILEOPSTRUCT
      Dim lReturn As Long
      Dim sTempFileName As String
       sTempFileName="c:\tmp.txt"
       With FileOperation
       .wFunc = FO_DELETE
       .pFrom = sTempFileName
       .fFlags = FOF_ALLOWUNDO
       End With
       lReturn = SHFileOperation(FileOperation)
      End Sub  3 运行此程序,单击命令按钮,将提示是否将TMP文件放入回收站,选择“是”,然后可打开回收站看是否有此文件。