Consulting

Results 1 to 3 of 3

Thread: Storing a vba generated text file to the current directory

  1. #1
    VBAX Regular
    Joined
    Jan 2013
    Posts
    11
    Location

    Storing a vba generated text file to the current directory

    I have several text boxes in a Word document. Each input to a text box is stored as a variable.
    The code below allows me to create a text file that includes the values input to the text boxes by reading the text box variable. However … I need to be able to set the folder for the text file to whatever the current directory is. That code follows below the first block of code. You can see the variables are the same, the only thing I did was create a path to the current directory. When I check the local variables the path is correct. Yet I get an error: Method or Data Member not found. The highlighted code associated with the error is: Me.txtQuestion01.

    So … It works with a path that is fixed, but when I identify the path programatically, it does not.

    Please help! I am already old and this is making me older by the minute.

    _________________________________________
    Private Sub txtQuestion01_Change()

    Me.txtAnswer01.Value = Me.txtQuestion01.Value

    End Sub

    Private Sub Document_Close()

    Dim record As String

    Open "C:\Users\rjudge\SkyDrive\Programming\SAP Assignment grading\MS Word files\Ch-03-01.txt" For Output As #1
    Print #1, "Question #1 " & Me.txtQuestion01.Value
    Print #1, "Question #2 " & Me.txtQuestion02.Value
    Print #1, "Question #3 " & Me.txtQuestion03.Value
    Print #1, "Question #4 " & Me.txtQuestion04.Value
    Print #1, "Question #5 " & Me.txtQuestion05.Value
    Print #1, "Question #6 " & Me.txtQuestion06.Value
    Close #1

    End Sub
    _____________________________________________
    New code with code to determine current directory
    _____________________________________________
    Private Sub Document_Close()

    Dim record As String
    Dim strFileName As String
    Dim pathname As String
    If UCase(Right(ActiveDocument.Name, 1)) = "X" Then
    '.docx
    strFileName = Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 5)
    Else
    '.doc
    strFileName = Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4)
    End If
    pathname = ActiveDocument.Path & "\" & strFileName & "txt"
    'write the txt file
    Open pathname For Output As #1
    Print #1, "Question #1 " & Me.txtQuestion01.Value
    Print #1, "Question #2 " & Me.txtQuestion01.Value
    Print #1, "Question #2 " & Me.txtQuestion02.Value
    Print #1, "Question #2 " & Me.txtQuestion03.Value
    Print #1, "Question #2 " & Me.txtQuestion04.Value

    Close #1

    End Sub

  2. #2
    VBAX Wizard
    Joined
    May 2004
    Posts
    6,713
    Location
    You need a dot before "txt"


    pathname = ActiveDocument.Path & "\" & strFileName & "txt"

    has no dot.

    If you do a debug.print for strFileNasme you will notice it has no trailing ".", so you need to add that.


    pathname = ActiveDocument.Path & "\" & strFileName & ".txt"

  3. #3
    The centre of the punctuation is filed for the individuals. The chapter of the mode and Dissertation Today is ensured for the mid of the payments. The chunk is followed for the individuals. The struggle is done for all industries. The mark is placed for the team. plant is done for all humans for the middle of towpaths for all humans.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •