Avatar billede finnholm Nybegynder
13. juli 2004 - 14:22 Der er 9 kommentarer og
1 løsning

Popup med filnavn

Hej

Jeg har en makro der åbner en fil hverdag og laver tekst-til-kolonner. Problemet er bare at tekst filen skifter navn hver dag.
Hvordan får jeg nedenstående til at lave en pop-up som skal udfyldes med filnavn og makro herefter kan hente nævnte fil.

    Sheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Banken\FilerFraBanken\Oversigter\Indbptx - 01 20040707.", _
        Destination:=Range("A1"))
        .Name = "Indbptx - 01 20040707._1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = xlWindows
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 4, 1, 1, 1, 1)
        .TextFileDecimalSeparator = "."
        .Refresh BackgroundQuery:=False
    End With
Avatar billede overchord Nybegynder
13. juli 2004 - 14:40 #1
Hvis du opretter en string :

Dim StrDagensFil as string

strDagensFil = inputbox("Indtast dato (yyyymmdd)")
strDagensFil = "C:\Banken\FilerFraBanken\Oversigter\Indbptx - 01" & strDagensFil

Herefter indsaetter du blot denne i din kode:
With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;strDagensFil, _
        Destination:=Range("A1"))
        .Name = "Indbptx - 01 20040707._1"
        ....osv
Avatar billede finnholm Nybegynder
13. juli 2004 - 14:54 #2
Hvad er der galt med denne?

    Dim StrDagensFil As String

    StrDagensFil = InputBox("Indtast dato (yyyymmdd)")
    StrDagensFil = "C:\Banken\FilerFraBanken\Oversigter\Indbetalinger - 01" & StrDagensFil

    Sheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;strDagensFil", _
        Destination:=Range("A1"))
        .Name = "Indbetalinger - 01 20040705._1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = xlWindows
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 4, 1, 1, 1, 1)
        .TextFileDecimalSeparator = "."
        .Refresh BackgroundQuery:=False
Avatar billede finnholm Nybegynder
13. juli 2004 - 15:00 #3
With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;strDagensFil", _
        Destination:=Range("A1"))
        .Name = "Indbetalinger - 01 20040705._1"


Er det "" der står forkert eller .....
Avatar billede kabbak Professor
13. juli 2004 - 15:11 #4
I forhold til denne
  "TEXT;C:\Banken\FilerFraBanken\Oversigter\Indbptx - 01 20040707."
mangler du et mellemrum efter 01,

Sådan

  StrDagensFil = "C:\Banken\FilerFraBanken\Oversigter\Indbetalinger - 01 " & StrDagensFil
Avatar billede finnholm Nybegynder
13. juli 2004 - 15:22 #5
Jeg lavede en ny for at se om det virkede - men nej...

    Dim StrDagensFil As String

    StrDagensFil = InputBox("Indtast dato (yyyymmdd)")
    StrDagensFil = "C:\Banken\FilerFraBanken\Oversigter\Indbetalinger - 01 " & StrDagensFil

    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;strDagensFil", _
        Destination:=Range("A1"))
        .Name = "Indbetalinger - 01 20040705."
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = xlWindows
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = True
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = True
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 4, 4, 1, 1, 1)
        .TextFileDecimalSeparator = "."
        .Refresh BackgroundQuery:=False
    End With

Er der evt. problemer med:        .Name = "Indbetalinger - 01 20040705."
Avatar billede finnholm Nybegynder
13. juli 2004 - 15:23 #6
Det kommer med fejlen : kan ikke finde tekstfilen
Avatar billede kabbak Professor
13. juli 2004 - 15:35 #7
Dim StrDagensFil As String, StrDagensFil As String1

    StrDagensFil1 = InputBox("Indtast dato (yyyymmdd)")
    StrDagensFil = "C:\Banken\FilerFraBanken\Oversigter\Indbetalinger - 01 " & StrDagensFil1
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & StrDagensFil, _
        Destination:=Range("A1"))
        .Name = "Indbetalinger - 01 ." & StrDagensFil1
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = xlWindows
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = True
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = True
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 4, 4, 1, 1, 1)
        .TextFileDecimalSeparator = "."
        .Refresh BackgroundQuery:=False
    End With

prøv den
Avatar billede kabbak Professor
13. juli 2004 - 15:38 #8
der var lige en fejl i dim linien
Dim StrDagensFil As String, StrDagensFil1  As String
Avatar billede finnholm Nybegynder
13. juli 2004 - 15:52 #9
Tak Kabbak og Overchord

Det virker bare super!!!

Kabbab jeg har oprettet nyt spørgsmål til dig da jeg gav alle til overchord ved en fejl....
Avatar billede overchord Nybegynder
13. juli 2004 - 17:27 #10
finnholm - saa boer du naesten faa nogle af pointene igen siden kabbak lavede meget af arbejdet med at faa det til at virke!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester