Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketWorkBook styring

 Besvar Besvar
Forfatter
Blichfeldt Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 06.Apr.2016
Land: Denmark
Status: Offline
Point: 51
Direkte link til dette indlæg Emne: WorkBook styring
    Sendt: 11.Sep.2018 kl. 15:25
Hej Forum
 
Lidt input ønskes.
Problemstilling:
Jeg har en wb1 som laver en masse check i vba, med udgangspunkt i en importeret txt fil.
Slutresultatet af en sådan kørsel er en ny wb, vi kan kalde den wb_resultat, det er ikke vigtigt.
Wb1 er så efter endt proces renset og klar til næste txt indlæsning
Det virker fint, men ....
 
Jeg skal lave opgaven på op til 250 forskellige importeret filer, og det er lidt af en sjat at lave manuelt.
 
Derfor tænker jeg, jeg laver en ny wb2 til at styre wb1.
I wb2 har jeg lavet et fint loop og en timet kontrol på, om processen i wb1 er i gang og derfor ikke kan genstartes før den igangværende proces er afsluttet.
 
Det store problem er at importere txt data til den enkelte kørsel i wb1.
Jeg tænker at have en fil navne liste i wb2 som reference på alle de filer der skal køres igennem wb1.
men hvordan får jeg vba til at indsætte disse forskellige navne fra wb2 som txt import source i wb1
 
Er der nogle af jer dygtige skarpe Excel hajer som har en god ide, eller måske ligefrem en løsning?
 
MVH
Blichfeldt
Til top



Til top
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Accepteret svar Accepteret svar
Direkte link til dette indlæg Sendt: 14.Sep.2018 kl. 10:15
Hej Blichfeldt

Se vedhæftede fil.

uploads/1747/Txt_Input_Test_auto.xlsm




Mvh Max
Til top
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Direkte link til dette indlæg Sendt: 11.Sep.2018 kl. 15:43
Hvordan er dine tekstfiler placeret - i én eller flere filmapper?

Hvis de ligger i én filmappe, ville jeg vælge at loop'e dem igennem med Dir$ - f.eks.

strTxtFile = Dir$("C:\filmappe\*.txt", vbNormal)

Do

     [Kode til hvad du vil gøre med txt-filerne]

      ' Hent næste txt-filnavn
      strTxtFile = Dir$

Loop Until strTxtFile = ""
Til top
Blichfeldt Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 06.Apr.2016
Land: Denmark
Status: Offline
Point: 51
Direkte link til dette indlæg Sendt: 13.Sep.2018 kl. 13:01

Til maxzpad og andre der har lyst til at hjælpe

Tak for input.

Jeg kunne ikke få det til at virke.
Selve indlæsningen af txt fil indhold fejler ved linie
".Refresh BackgroundQuery:=False"


Der kommer en run time error 1004
"Excel kan ikke finde tekstfilen til opdatering af det eksterne dataområde."


Når jeg debugger "strTxtFile" så er den tom for sti, der er kun et filnavn.
Jeg ved ikke om det er årsagen.


Jeg har uploaded 2 filer, en hvor jeg indlæser txtfil manuelt, som virker og en hvor der skal indlæses automatisk, som ikke virker
uploads/1659/Txt_Input_Test_auto.xlsm

uploads/1659/Txt_input_Test_manuelt.xlsm

MVH
Blichfeldt

Til top
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Accepteret svar Accepteret svar
Direkte link til dette indlæg Sendt: 14.Sep.2018 kl. 10:15
Hej Blichfeldt

Se vedhæftede fil.

uploads/1747/Txt_Input_Test_auto.xlsm




Mvh Max
Til top
Blichfeldt Se dropdown
Bronze bruger
Bronze bruger
Avatar

Medlem: 06.Apr.2016
Land: Denmark
Status: Offline
Point: 51
Direkte link til dette indlæg Sendt: 17.Sep.2018 kl. 13:26
Hej Max
 
Så fik jeg det til at virke.
Det var super input du kom med.
 
Jeg lavede dog en lille rettelse, så stien ikke er hardkodet i koden.
Man er dog afhængig af, at txt filer og regneark skal ligge i samme mappe.
 
strFilmappe = "C:\Test\"
strFilmappe = ActiveWorkbook.Path & "\"
 
MVH
Blichfeldt
Til top
maxzpad Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 709
Direkte link til dette indlæg Sendt: 19.Sep.2018 kl. 09:31
Hej Blichfeldt

Super! Tak for tilbagemeldingen.

Du kan også vælge denne variant:
strFilmappe = ThisWorkbook.Path & "\"

Derved anvendes filstien fra den Excel-projektmappe, hvori makroen er placeret, hvilket kan være en relevant distinktion, såfremt den aktive projektmappe er en anden, når variablens værdi sættes.


Mvh Max
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk