31. marts 2004 - 21:20Der 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
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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
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
og det var en parameter til open Workbooks.Open Filename:=.FoundFiles(i), updatelinks:=0
Synes godt om
Ny brugerNybegynder
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.