Avatar billede h_s Forsker
26. februar 2004 - 13:51 Der er 10 kommentarer og
1 løsning

Makro der åbner, gemmer og lukker andre projektmapper

Jeg har brug for 2 makroer:

1: En makro der åbner 15 projektmapper
2: En makro der gemmer og lukker de samme projektmapper

Jeg har lavet dem via "optageren", hvilket virker ok, men jeg synes det giver noget "flimmer" og nogen uhensigtmæssigheder.

Er der nogen der kan hjælpe mig.
26. februar 2004 - 13:55 #1
ja her er nok flere der kan hjælpe - smider du ikke lige din kode her - så er det hurtigt gjort.
26. februar 2004 - 14:19 #2
Option Explicit

Public gcolFileNames As Collection
Private Const msPATH As String = "C:\VBA-TEST\"
Private mlFile As Long

Public Sub OpenFiles()
    For mlFile = 1 To gcolFileNames.Count
        Application.Workbooks.Open msPATH & gcolFileNames(mlFile)
    Next mlFile
End Sub

Public Sub CloseFiles()
    For mlFile = 1 To gcolFileNames.Count
        Application.Workbooks(gcolFileNames(mlFile)).Close SaveChanges:=True
    Next mlFile
End Sub

Private Sub FileNamesToCollection()
    Set gcolFileNames = New Collection
   
    With gcolFileNames
        .Add "1.xls"
        .Add "2.xls"
        .Add "3.xls"
        .Add "4.xls"
        .Add "5.xls"
        .Add "6.xls"
        .Add "7.xls"
        .Add "8.xls"
        .Add "9.xls"
        .Add "10.xls"
        .Add "11.xls"
        .Add "12.xls"
        .Add "13.xls"
        .Add "14.xls"
        .Add "15.xls"
    End With
End Sub

Indsæt selv den rigtige sti øverst, og de rigtige filnavne nederst.
Ændre SaveChanges:=True til False hvis ændringerne ikke skal gemmes.
Avatar billede h_s Forsker
28. februar 2004 - 15:47 #3
Jeg har nu afprøvet dine makroer. Jeg får fejl i følgende linje:
For mlFile = 1 To gcolFileNames.Count i begge makroer.

Jeg har slettet FileNames 3-15, da jeg lige tester makroerne først. Kan det være årsagen?
28. februar 2004 - 18:35 #4
Sorry....... fordi filnavnene slet ikke bliver fyldt i den Collection. Indsæt første linie i denne Sub.

Public Sub OpenFiles()
    FileNamesToCollection
    For mlFile = 1 To gcolFileNames.Count
        Application.Workbooks.Open msPATH & gcolFileNames(mlFile)
    Next mlFile
End Sub
02. marts 2004 - 16:36 #5
hjalp det ?
Avatar billede h_s Forsker
29. marts 2004 - 10:20 #6
Så er jeg på pinden igen og har fået tid til at få mit lille projekt færdig.

Jeg får stadig fejlen: Koden kan ikke udføres i pausetilstand.

Det jeg har gjort er, at jeg har overskrevet makroen "Public Sub OpenFiles()" med det du skrive dit indlæg den 28/2 kl. 18:35:
Public Sub OpenFiles()
    FileNamesToCollection
    For mlFile = 1 To gcolFileNames.Count
        Application.Workbooks.Open msPATH & gcolFileNames(mlFile)
    Next mlFile
End Sub
Hvad har jeg gjort forkert?
Avatar billede h_s Forsker
29. marts 2004 - 10:23 #7
Jeg har også stadig fejl i linjen:

For mlFile = 1 To gcolFileNames.Count
Avatar billede h_s Forsker
29. marts 2004 - 10:25 #8
Samme fejl opstår i Close():

For mlFile = 1 To gcolFileNames.Count
29. marts 2004 - 12:33 #9
Hvis ellers du retter msPATH og filnavne korrekt til, så virker det altså. Jeg har lige testet.

Option Explicit

Public gcolFileNames As Collection
Private Const msPATH As String = "C:\VBA-TEST\"
Private mlFile As Long

Public Sub OpenFiles()
    FileNamesToCollection
    For mlFile = 1 To gcolFileNames.Count
        Application.Workbooks.Open msPATH & gcolFileNames(mlFile)
    Next mlFile
End Sub

Public Sub CloseFiles()
    For mlFile = 1 To gcolFileNames.Count
        Application.Workbooks(gcolFileNames(mlFile)).Close SaveChanges:=True
    Next mlFile
End Sub

Private Sub FileNamesToCollection()
    Set gcolFileNames = New Collection
   
    With gcolFileNames
        .Add "1.xls"
        .Add "2.xls"
        .Add "3.xls"
        .Add "4.xls"
        .Add "5.xls"
        .Add "6.xls"
        .Add "7.xls"
        .Add "8.xls"
        .Add "9.xls"
        .Add "10.xls"
        .Add "11.xls"
        .Add "12.xls"
        .Add "13.xls"
        .Add "14.xls"
        .Add "15.xls"
    End With
End Sub
Avatar billede h_s Forsker
30. marts 2004 - 11:27 #10
Jeg kan ikke få den til at virke. Det kan selvfølgelig være fordi jeg har en Office 97.

Jeg bruger min egen version!
30. marts 2004 - 11:37 #11
........
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