Avatar billede jensen363 Forsker
10. november 2015 - 12:24 Der er 1 løsning

VBA disable / Enable ReadOnly

Jeg har en mappe med en række excelfiler, og fælles for dem er, at jeg benytter følgende kode til at opdatere dem alle :

Sub LoopThroughFolder()
    Dim folderPath As String
    Dim filename As String
    Dim WB As Workbook
    'Change path to suit
    folderPath = "W:\Product Masters\Product statistics salesmarked\2016\"
   
    If Right(folderPath, 1) <> "\" Then folderPath = folderPath + "\"
   
    filename = Dir(folderPath & "*.xlsx")
    Do While filename <> ""
        Set WB = Workbooks.Open(folderPath & filename)
       
        'Call a subroutine here to operate on the just-opened workbook
        ActiveWorkbook.RefreshAll
       
            ActiveWorkbook.Close savechanges:=True
       
        filename = Dir
    Loop
   
End Sub

Jeg ønsker at koden starter med at fjerne ReadOnly på filen inden opdateringen foretages, og tilsvarende sætter den til inden filen likes igen

Kan ikke lige finde noget kode som virker efter hensigteh :-(
Avatar billede jensen363 Forsker
13. november 2015 - 10:35 #1
Fandt denne, som virker for mig :-)

Sub SetResetAttr(sFilePathName As String, bytAttr As Byte, bSet As Boolean)

With CreateObject("Scripting.FileSystemObject").GetFile(sFilePathName)
    If bSet Then
        .Attributes = .Attributes Or bytAttr
    Else
        .Attributes = .Attributes And Not bytAttr
    End If
End With
End Sub
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