Avatar billede Latte Mester
30. november 2017 - 17:04 Der er 1 kommentar og
2 løsninger

Ændring i VBA fsv. stier og placering

Hej

Jeg har arvet "et stykke" VBA, som jeg ikke er i stand til at forstå, men som virker fint med en enkelt undtagelse. VBA'en virker kun, når Excel-filen ligger på mit eget drev. Jeg vil gerne flytte Excel-filen til et andet sted i firmaets fil-struktur, og desuden skal Notepad-filen ("Ekstrapriser.txt") ligge et andet sted end Excel-filen. Kan nogen hjælpe?


Sub CreatePriceFile()
Filename = "Ekstrapriser.txt"
PriceFilePath = ThisWorkbook.Path & Filename

   
Set fs = CreateObject("Scripting.FileSystemObject")
Set NewFile = fs.CreateTextFile(PriceFilePath, True)

With ThisWorkbook.Worksheets("Priser")
    .Select
    SecIDRow = 4
    Row# = 6
    SecIDCmn = 2
   
    Do While .Cells(SecIDRow, SecIDCmn) <> ""
        .Cells(Row#, SecIDCmn).Select
        SecId = .Cells(SecIDRow, SecIDCmn)
'LOOP THROUGH ALL ROWS
        Do While IsEmpty(Selection) = False
            SecId = .Cells(SecIDRow, SecIDCmn)
                SecPrice = Replace(Selection, ",", ".")
                PriceDate = Format(Selection.Offset(0, -1).Value, "yyyymmdd")
                PriceString = SecId & Chr(32) & SecPrice & Chr(32) & PriceDate
                NewFile.WriteLine PriceString
        PriceString = vbNullString
        Selection.Offset(1, 0).Select
        Loop
    SecIDCmn = SecIDCmn + 2
    Loop
End With
'CLOSE PRICE FILE
NewFile.Close
End Sub
30. november 2017 - 17:40 #1
Du bør kunne ændre linjen her

PriceFilePath = ThisWorkbook.Path & Filename

Til f.eks.

PriceFilePath = "w:\data\" & Filename

Så vil txt filen lande der og Excel filen kan ligge, hvor du måtte ønske det.
Avatar billede Latte Mester
01. december 2017 - 10:43 #2
Hej Thor

Tusind tak. Det virker perfekt.

Ved du om det er muligt at sætte Auto Run på en Excel-fil, så den starter på et givent tidspunkt - eller skal det laves i Scheduled Tasks?
01. december 2017 - 11:06 #3
Det kan man godt

http://www.ozgrid.com/Excel/run-macro-on-time.htm

Men så skal du have Excel stående åben med filen hele tiden.

Det er bedre at sætte det op med et Windows Job.
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

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