Consulting

Results 1 to 3 of 3

Thread: Importing an excel file into a template excel sheet that will enable automation

  1. #1
    VBAX Regular
    Joined
    Jan 2008
    Posts
    75
    Location

    Importing an excel file into a template excel sheet that will enable automation

    Hi All,

    Thanks all, especially xld, for your timely responses to my previous postings. I do have a problem because I am trying to write an excel file into an excel template sheet to enable the user carry out the automation process with the buttons that are in the template. I have the following code, but it is not working. What am I doing wrong? I am also suppose to export and excel file into. csv, and I also have the following code which is also not working.

    Public Sub ImportingXlsFilesintoTemplate(FName As String, Sep As String)
    Dim RowNdx As Long
    Dim ColNdx As Integer
    Dim TempVal As Variant
    Dim WholeLine As String
    Dim Pos As Integer
    Dim NextPos As Integer
    Dim SaveColNdx As Integer
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' ImportTextFile
    ' This imports a text file into Excel.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Application.ScreenUpdating = False
    'On Error GoTo EndMacro:
    SaveColNdx = ActiveCell.Column
    RowNdx = ActiveCell.Row
    Open FName For Input Access Read As #1
    While Not EOF(1)
    Line Input #1, WholeLine
    If Right(WholeLine, 1) <> Sep Then
    WholeLine = WholeLine & Sep
    End If
    ColNdx = SaveColNdx
    Pos = 1
    NextPos = InStr(Pos, WholeLine, Sep)
    While NextPos >= 1
    TempVal = Mid(WholeLine, Pos, NextPos - Pos)
    Cells(RowNdx, ColNdx).Value = TempVal
    Pos = NextPos + 1
    ColNdx = ColNdx + 1
    NextPos = InStr(Pos, WholeLine, Sep)
    Wend
    RowNdx = RowNdx + 1
    Wend
    EndMacro:
    On Error GoTo 0
    Application.ScreenUpdating = True
    Close #1
    End Sub
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' DoTheImport
    ' This prompts the user for a FileName as separator character
    ' and then calls ImportTextFile.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Sub DoTheImport()
    Dim FileName As Variant
    Dim Sep As String
    FileName = Application.GetOpenFilename(FileFilter:="Excel File (*.xls),*.txt")
    If FileName = False Then
    ''''''''''''''''''''''''''
    ' user cancelled, get out
    ''''''''''''''''''''''''''
    Exit Sub
    End If
    Sep = Application.InputBox("Enter a separator character.", Type:=2)
    If Sep = vbNullString Then
    ''''''''''''''''''''''''''
    ' user cancelled, get out
    ''''''''''''''''''''''''''
    Exit Sub
    End If
    Debug.Print "FileName: " & FileName, "Separator: " & Sep
    ImportingXlsFilesintoTemplate FName:=CStr(FileName), Sep:=CStr(Sep)
    End Sub

    This for exporting

    Public Sub ExportingXlsFilestoCAPRS(FName As String, _
    Sep As String, SelectionOnly As Boolean, _
    AppendData As Boolean)

    Dim WholeLine As String
    Dim FNum As Integer
    Dim RowNdx As Long
    Dim ColNdx As Integer
    Dim StartRow As Long
    Dim EndRow As Long
    Dim StartCol As Integer
    Dim EndCol As Integer
    Dim CellValue As String
    ' ExportToTextFile
    ' This exports a sheet or range to a text file, using a
    ' user-defined separator character.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Application.ScreenUpdating = False
    On Error GoTo EndMacro:
    FNum = FreeFile
    If SelectionOnly = True Then
    With Selection
    StartRow = .Cells(1).Row
    StartCol = .Cells(1).Column
    EndRow = .Cells(.Cells.Count).Row
    EndCol = .Cells(.Cells.Count).Column
    End With
    Else
    With ActiveSheet.UsedRange
    StartRow = .Cells(1).Row
    StartCol = .Cells(1).Column
    EndRow = .Cells(.Cells.Count).Row
    EndCol = .Cells(.Cells.Count).Column
    End With
    End If
    If AppendData = True Then
    Open FName For Append Access Write As #FNum
    Else
    Open FName For Output Access Write As #FNum
    End If
    For RowNdx = StartRow To EndRow
    WholeLine = ""
    For ColNdx = StartCol To EndCol
    If Cells(RowNdx, ColNdx).Value = "" Then
    CellValue = Chr(34) & Chr(34)
    Else
    CellValue = Cells(RowNdx, ColNdx).Text
    End If
    WholeLine = WholeLine & CellValue & Sep
    Next ColNdx
    WholeLine = Left(WholeLine, Len(WholeLine) - Len(Sep))
    Print #FNum, WholeLine
    Next RowNdx
    EndMacro:
    On Error GoTo 0
    Application.ScreenUpdating = True
    Close #FNum
    End Sub
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' DoTheExport
    ' This prompts the user for the FileName and the separtor
    ' character and then calls the ExportToTextFile procedure.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Sub DoTheExport()
    Dim FileName As Variant
    Dim Sep As String
    FileName = Application.GetSaveAsFilename(InitialFileName:=vbNullString, FileFilter:="Text Files (*.txt),*.txt")
    If FileName = False Then
    ''''''''''''''''''''''''''
    ' user cancelled, get out
    ''''''''''''''''''''''''''
    Exit Sub
    End If
    Sep = Application.InputBox("Enter a separator character.", Type:=2)
    If Sep = vbNullString Then
    ''''''''''''''''''''''''''
    ' user cancelled, get out
    ''''''''''''''''''''''''''
    Exit Sub
    End If
    Debug.Print "FileName: " & FileName, "Separator: " & Sep
    ExportingXlsFilestoCAPRS FName:=CStr(FileName), Sep:=CStr(Sep), _
    SelectionOnly:=False, AppendData:=True
    End Sub

    I would be very grateful if someone could help me out.

    Thanks

    Lucpian

  2. #2
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    Lucpian,

    It would be much better if you could post a workbook, and any other files, also tells us what is supposed to happen, and what it is not doing.
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

  3. #3
    VBAX Regular
    Joined
    Jan 2008
    Posts
    75
    Location
    I have tried to attached two Excel files to show what I want it to do, but could not attached it herewith. Basically, I want to be able to open any excel file with data in a template with several command buttons that allow for automation. Right now it pops up the dialogue that allows you to select, but does not opens it in the template.

    Thanks

    lucpian

Posting Permissions

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