• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Read only bestand maken?

Status
Niet open voor verdere reacties.

sandernoteborn

Gebruiker
Lid geworden
8 mei 2006
Berichten
68
Kan ik in een macro een functie maken dat het bestand dat opgeslagen wordt door de macro een Read-only bestand wordt?
 
Ja

bijvoorbeeld

Code:
ActiveWorkbook.SaveAs Filename:= "C:\Sander.xls", ReadOnlyRecommended:= true
 
Wigi zei:
Ja

bijvoorbeeld

Code:
ActiveWorkbook.SaveAs Filename:= "C:\Sander.xls", ReadOnlyRecommended:= true


Dit is mijn sourcecode:

C:\....\FILENAME" & "-" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & Hour(Time) & "-" & Minute(Time) & ".xls")

Dus dan zou het op deze manier moeten werken:

C:\....\FILENAME" & "-" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & Hour(Time) & "-" & Minute(Time) & ".xls", ReadOnlyRecommended:= true)

Alleen werkt het nog niet!
 
Code:
ActiveWorkbook.SaveAs Filename:="C:\....\FILENAME" & "-" & Format(Date, "dd-mm-yy") & "_" & Format(Time, "hh-mm") & ".xls", ReadOnlyRecommended:=True

Wigi
 
Wigi zei:
Code:
ActiveWorkbook.SaveAs Filename:="C:\....\FILENAME" & "-" & Format(Date, "dd-mm-yy") & "_" & Format(Time, "hh-mm") & ".xls", ReadOnlyRecommended:=True

Wigi

Hmmmz helaas maar hij blijft een fout aangeven op het einde van de regel bij mij.
 
Wigi zei:
Bestaat de map C:\....\ ?

Met de pathnaam is niks mis. Deze werkt namelijk gewoon zonder de readonlyrecommended toevoeging. Het heeft altijd gewerkt maar aangezien het een backupbestand is dat wordt opgeslagen wil ik er liever een readonly van maken voor iets meer veiligheid!

Alleen wil het dus nog niet echt lukken...
 
Hat kan ook met een Api, het mooie is dat het dan niet perse een bestand hoeft te zijn dat open is.

Code:
Option Explicit

Const FILE_ATTRIBUTE_READONLY = 1
Const FILE_ATTRIBUTE_HIDDEN = 2
Const FILE_ATTRIBUTE_SYSTEM = 4
Const FILE_ATTRIBUTE_DIRECTORY = 16
Const FILE_ATTRIBUTE_ARCHIVE = 32
Const FILE_ATTRIBUTE_ENCRYPTED = 64
Const FILE_ATTRIBUTE_NORMAL = 128
Const FILE_ATTRIBUTE_TEMPORARY = 256
Const FILE_ATTRIBUTE_SPARSE_FILE = 512
Const FILE_ATTRIBUTE_REPARSE_POINT = 1024
Const FILE_ATTRIBUTE_COMPRESSED = 2048
Const FILE_ATTRIBUTE_OFFLINE = 4096


Private Declare Function SetFileAttributes Lib "kernel32" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long


Sub test()

If SetFileAttributes("E:\Test\Sander.xls", FILE_ATTRIBUTE_READONLY) > 0 Then MsgBox "Succes!"


End Sub
 
En nu we toch bezig zijn:
Waarom sla je het bestand niet op in html formaat?

Bestand als alleen lezen opslaan is immers toch te omzeilen? Rechtsklikken op het bestand, en vinkje wegnemen bij alleen lezen?

Opslaan als html kan je volgens mij opnemen met de macrorecorder.

Niets van dit alles is getest. Maar ik zie in dit alles ook niet onmiddellijk problemen opduiken.

Luc
 
Macro opnemen

Je kunt het ook uitproberen door het opnemen van een macro. Als ik dan vervolgens naar VisualBasic ga, zie ik de volgende routine:

Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 20-5-06 door Kingswood.
'

'
ActiveWorkbook.SaveAs FileName:="C:\WINDOWS\Desktop\Map1.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=True, _
CreateBackup:=False
End Sub
 
Wigi zei:
Code:
ActiveWorkbook.SaveAs Filename:="C:\....\FILENAME" & "-" & Format(Date, "dd-mm-yy") & "_" & Format(Time, "hh-mm") & ".xls", ReadOnlyRecommended:=True

Ik heb mijn voorstel nog eens geprobeerd. Hij geeft eerst een foutmelding omdat C:\.... niet bestaat. Maak ik daarvan C:\ als map dan werkt het wel perfect. Ik weet echt niet wat er mis gaat.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan