我用了一个commondialog,选择文件,textbox显示文本内容,
其实就是像记事本那样,可以选择任意的文本文件,而不是指定路径的。不知道为什么就是实现不了.我按照有些例子里面的做,不是说我用户变量未定义就是未找到方法和数据成员(用TextBox.LoadFile FileName时)。我实在是不知道怎么办,看起来应该是很容易实现的,但我就是不对。就是希望有人帮帮我!谢谢啦

解决方案 »

  1.   

    Private Sub Command1_Click()    CommonDialog1.ShowOpen
        
        If CommonDialog1.filename <> "" Then
        
            Dim TempFile As Long
            Dim LoadBytes() As Byte
            
            TempFile = FreeFile
            Open CommonDialog1.filename For Binary As #TempFile
            ReDim LoadBytes(1 To LOF(TempFile)) As Byte
            Get #TempFile, , LoadBytes
            Close TempFile
            
            Text1.Text = StrConv(LoadBytes, vbUnicode)    End IfEnd Sub
      

  2.   

    太感谢了,一运行就是成功啦。为什么你好象写的跟我以前看到的例子不太一样,我是个新手,有很多东西不太明白,能帮我注解一下吗?anyway,太感谢啦
      

  3.   

    Private Sub Command1_Click()
    On Error GoTo OpenErr '如果出错。就调到OpenErr
    CommonDialog1.Filter = "(*.txt)|*.txt|" '可以选择的类型
    CommonDialog1.ShowOpen '显示出来
    RichTextBox1.LoadFile CommonDialog1.FileName '加载文档
    OpenErr:
    End Sub
      

  4.   

    请问lof函数的作用是什么
      

  5.   

    lof(filenumber)返回打开的文件的长度。
      

  6.   

    这个我知道啊,但是不用lof函数也可以啊
    直接就可以指定文件的长度的
    我的意思是用lof函数以后有什么好处
      

  7.   

    Private Sub Command1_Click()    CommonDialog1.ShowOpen  ’调用打开文件对话框
        
        If CommonDialog1.filename <> "" Then  '当选中文件不为空时
        
            Dim TempFile As Long
            Dim LoadBytes() As Byte
            
            TempFile = FreeFile
    '打开文件读
            Open CommonDialog1.filename For Binary As #TempFile
    '定义数组
            ReDim LoadBytes(1 To LOF(TempFile)) As Byte
    '从文件读到数组中
            Get #TempFile, , LoadBytes
    '关闭文件
            Close TempFile'显示在文本框        
            Text1.Text = StrConv(LoadBytes, vbUnicode)    End IfEnd Sub
      

  8.   

    用FSO对象也许更容易一些,可是要增加额外的开销