Avatar billede tille Nybegynder
31. marts 2004 - 21:20 Der er 10 kommentarer og
1 løsning

løbe folder igennem for regneark og gøre det samme ved dem alle

Hej (igen)

jeg har i hundredvis af regneark liggende i forskellige foldere.

på grund af et andet program der åbner dem, og skal have lov til det, selvom en bruger har fat i det, skal alle disse regneark have sat hak i 'Share workbook'.

For at slippe for at åbne alle et efter et i hånden, vil jeg lave en lille kode der løber dem igennem og sætter hakket.

nogen ide til hvordan det skulle gøres. Jeg kan godt finde ud af VBA, som jeg går ud fra skal benyttes

på forhånd tak

tille
Avatar billede bak Forsker
31. marts 2004 - 21:55 #1
Prøv noget i denne stil.
I løkken kan du evt. indsætte din egen kode.

Sub AllFolders()
Dim FS As FileSearch
Dim FilePath As String
Dim i As Long
Const Filespec = "*.xls"              'udfyldes af bruger

FilePath = "C:\test\"                'udfyldes af bruger
Application.ScreenUpdating = False
Set FS = Application.FileSearch
With FS
  .LookIn = FilePath
  .Filename = Filespec
  .SearchSubFolders = True
  .Execute
  If .FoundFiles.Count = 0 Then
      MsgBox ("Ingen filer fundet")
      Exit Sub
  End If
  For i = 1 To .FoundFiles.Count
   
    Workbooks.Open Filename:=.FoundFiles(i)
    With ActiveWorkbook
        .KeepChangeHistory = True
        .ChangeHistoryDuration = 30
    End With
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=.FoundFiles(i), AccessMode:=xlShared
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
   
  Next
End With
Application.ScreenUpdating = False
End Sub
Avatar billede bak Forsker
31. marts 2004 - 21:56 #2
sidste linie ændres til
Application.ScreenUpdating = True
Avatar billede tille Nybegynder
31. marts 2004 - 22:24 #3
det fungerer perfekt tak, lav lige et svar

hvordan kører man en makro indefra vba?
Avatar billede tille Nybegynder
31. marts 2004 - 22:26 #4
okay det fandt jeg selv, jeg søgte bare det forkerte sted
application.run
Avatar billede bak Forsker
31. marts 2004 - 22:35 #5
Ok, et svar :-)
Avatar billede tille Nybegynder
31. marts 2004 - 22:38 #6
naah måske ikke helt alligevel

den fil jeg har lavet vba koden i hedder skiftstatus.xls
den har en makro der hedder del_ark

i midten af din kode indsætter jeg så

    With ActiveWorkbook
        .Run (skiftstatus.xls!del_ark)
    '    .KeepChangeHistory = True
    '    .ChangeHistoryDuration = 30
    End With

sådan gør man åbenbart ikke, hvordan så ?

makroen gør ikke andet end at åbne tools->share workbook-> sætte hak og trykke ok
Avatar billede bak Forsker
01. april 2004 - 07:53 #7
Du skal bare køre denne makro (eller den anden), når du har indsat det korrekte bibliotek

Sub AllFolders()
Dim FS As FileSearch
Dim FilePath As String
Dim i As Long
Const Filespec = "*.xls"              'udfyldes af bruger

FilePath = "C:\test\"                'udfyldes af bruger
Application.ScreenUpdating = False
Set FS = Application.FileSearch
With FS
  .LookIn = FilePath
  .Filename = Filespec
  .SearchSubFolders = True
  .Execute
  If .FoundFiles.Count = 0 Then
      MsgBox ("Ingen filer fundet")
      Exit Sub
  End If
  For i = 1 To .FoundFiles.Count
   
    Workbooks.Open Filename:=.FoundFiles(i)
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=.FoundFiles(i), AccessMode:=xlShared
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
   
  Next
End With
Application.ScreenUpdating = False
End Sub
Avatar billede tille Nybegynder
01. april 2004 - 08:13 #8
bare for at få det skåret ud i pap:

AccessMode:= xlShared er det samme som at sætte kryds i den dialog boks under 'tools' 'share workbook' ?

sorry hvis det er tilfældet, så havde du jo faktisk løst hele opgaven for mig
Avatar billede bak Forsker
01. april 2004 - 08:25 #9
Det er korrekt :-)
AccessMode:= xlShared
er det samme som at sætte kryds i den dialog boks under 'tools' 'share workbook'
Avatar billede tille Nybegynder
01. april 2004 - 12:03 #10
et sidste spørgsmål.

mange af arkene er linket til hinanden, dvs når de åbnes kommer den og spørg om man vil opdatere, kan man undertrykke den popup ?
Avatar billede tille Nybegynder
01. april 2004 - 13:34 #11
og det var en parameter til open
    Workbooks.Open Filename:=.FoundFiles(i), updatelinks:=0
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