"Alleen lezen" aanbeveling uitschakelen / omzeilen.
Hallo,
Om simpel wijzigingen te kunnen doorvoeren in meerdere werkboeken, gebruik ik een werkblad met onderstaande code:
Dit werk (bijna) perfect. Ik krijg alleen een probleem als een werkboek is opgeslagen met de " Alleen lezen aanbeveling".
De sheet wordt wel gewijzigd, maar bij het opslaan krijg "Opslaan als".
Ik dacht het probleem met
te omzeilen, maar dat werkt niet.
Enig idee, hoe ik dit werkend krijg?
m.vr.gr.,
Jans
Hallo,
Om simpel wijzigingen te kunnen doorvoeren in meerdere werkboeken, gebruik ik een werkblad met onderstaande code:
Code:
Sub BoekWijzigen()
Dim lCount As Long
Dim wbResults, wbCodeBook As Workbook
Dim ws As Worksheet
Dim zoekDir, wijzigString As String
Dim zoekBlad, zoekCel, vanCel, totCel As Variant
Dim subDirs, wwgezet As Boolean
Dim ww As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
'On Error Resume Next
Set wbCodeBook = ThisWorkbook
zoekDir = wbCodeBook.Sheets("Aanpasser").Range("D2").Value
zoekBlad = wbCodeBook.Sheets("Aanpasser").Range("D4").Value
zoekCel = wbCodeBook.Sheets("Aanpasser").Range("D5").Value
vanCel = wbCodeBook.Sheets("Aanpasser").Range("D9").Value
totCel = wbCodeBook.Sheets("Aanpasser").Range("D10").Value
wijzigString = wbCodeBook.Sheets("Aanpasser").Range("D11").Value
If wbCodeBook.Sheets("Aanpasser").Range("F2").Value = "Ja" Then
subDirs = True
Else
subDirs = False
End If
ww = wbCodeBook.Sheets("Aanpasser").Range("D13").Value
With Application.FileSearch
.NewSearch
.LookIn = zoekDir
.SearchSubFolders = subDirs
.FileType = msoFileTypeExcelWorkbooks
'.Filename = "Book*.xls"
If .Execute > 0 Then
For lCount = 1 To .FoundFiles.Count
Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)
wbResults.ReadOnlyRecommended = False
'SetAttr wbResults, vbNormal
teller = 1
For Each ws In wbResults.Sheets
If wbResults.Sheets(teller).Range(zoekCel).Value = zoekBlad Then
If wbResults.Sheets(teller).ProtectContents = True Then
wbResults.Sheets(teller).Unprotect Password:=ww
wwgezet = True
End If
wbResults.Sheets(teller).Range("" & vanCel & ":" & totCel & "").Value = wijzigString
If wwgezet = True Then
wwgezet = False
wbResults.Sheets(teller).Protect Password:=ww
End If
End If
teller = teller + 1
Next
wbResults.Close SaveChanges:=True
Next lCount
End If
End With
On Error GoTo 0
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
MsgBox "Klaar"
End Sub
De sheet wordt wel gewijzigd, maar bij het opslaan krijg "Opslaan als".
Ik dacht het probleem met
Code:
wbResults.ReadOnlyRecommended = False
Enig idee, hoe ik dit werkend krijg?
m.vr.gr.,
Jans
Laatst bewerkt: