open "c:\test\test.txt" for input as #1.
我把路径换成:app.path & "\test.txt"。
可是我把工程文件Project1和Form1及TXT文件移到其它文件夹下时,总是报错说找不到要打开的文件。不知什么原因。请高手指点。

解决方案 »

  1.   

    Option Compare TextPrivate Sub Command1_Click()
        Dim i As Integer
        Dim j As Integer
        Dim colA As New Collection
        Dim data As String
        
        Dim LabelValue() As String
        
        Dim LabelCount As Integer
        Dim LabelLength As Integer
        
        Dim LabelType As String    Dim WS As Object
        Dim LB As Object
        Dim DS As Object
        Dim iLoop As Integer    
        Open App.Path & "\rolllabeldata.txt" For Input As #1
        Debug.Print OK
        Do While Not EOF(1)
            Input #1, data
            If data <> "" Then
                colA.Add data
            End If
        Loop
        Close
        'Debug.Print colA.Count
        For i = 1 To colA.Count
            If colA.Item(i) = "TYPE:G1" Then
                LabelCount = LabelCount + 1
                LabelLength = 5
                LabelType = "G1"
            ElseIf colA.Item(i) = "TYPE:W1" Then
                LabelCount = LabelCount + 1
                LabelLength = 7
                LabelType = "W1"
            ElseIf colA.Item(i) = "TYPE:L1" Then
                LabelCount = LabelCount + 1
                LabelLength = 4
                LabelType = "L1"
            ElseIf colA.Item(i) = "TYPE:L2" Then
                LabelCount = LabelCount + 1
                LabelLength = 4
                LabelType = "L2"
            ElseIf colA.Item(i) = "TYPE:L3" Then
                LabelCount = LabelCount + 1
                LabelLength = 6
                LabelType = "L3"
            ElseIf colA.Item(i) = "TYPE:L4" Then
                LabelCount = LabelCount + 1
                LabelLength = 6
                LabelType = "L4"
            End If
        Next i
        'Debug.Print LabelCount, LabelLength, LabelType
        'Debug.Print colA.Count
        
        ReDim LabelValue(LabelCount - 1, LabelLength)
        
        For i = 0 To LabelCount - 1
            For j = 0 To LabelLength
                LabelValue(i, j) = StrAccess(colA.Item(j + 1 + (LabelLength + 1) * i))
          Next j
        Next i
        
        On Error GoTo Label_Error
        Set WS = CreateObject("LabelStar.Workspace")    'LabelStar Proを起動する
                                                        'ファイルを開く
        Set LB = WS.Labels.OpenLabel(App.Path + LabelType + ".lbl")
        
        
        Set DS = LB.DataSheet                           'DataSheetオブジェクトを取得する    With DS
        iLoop = 1
        For iLoop = 1 To LabelCount
            
            .Record = iLoop                             'データを入力する行を設定する
            .AddRecord                                 'レコードの新規に追加する
            For j = 1 To LabelLength
                .field = j
                .Text = LabelValue(iLoop - 1, j)          'LabelStar Pro内のカーソルを列1に移動する
                
            Next j
        Next iLoop
        End With
       
        'LB.PrintOut 0                                   'ラベルを印刷するExit_Proc:
        On Error Resume Next
        
        Set DS = Nothing
        WS.Labels.CloseLabel LB                         'ラベルを閉じる
            
        Set LB = Nothing
        WS.Quit                                         'LabelStar Proを閉じる
            
        Set WS = Nothing    MsgBox "終了しました。", vbInformation, "サンプルプログラム"    On Error GoTo 0    Exit SubLabel_Error:
        MsgBox Err.Description, vbExclamation, "サンプルプログラム"
        Resume Exit_Proc   
    End Sub
    Private Function StrAccess(StringValue As String) As String
        Dim StrValue As String
        Dim StrCaption As Integer
        
        StrCaption = InStr(StringValue, ":")
        StrValue = Mid(StringValue, StrCaption + 1)
         
        StrAccess = StrValue
    End Function
      

  2.   

    上面是我的代码,OPEN语句执行不过去。请指点。
      

  3.   

    最简单的办法是采用VB6.0中最新的fso系统,标准方便
    方法是:
    在工程属性中引用microsoft scripting runtime项
    然后创建一个fso对象
    例:dim myfso as new filesystemobject ,myfile as file
    set myfile=fso.getfile("d:\1.txt") 
    .......
    fso对象还有很多功能,你可以用[对象浏览器]来查看一下。