Avatar billede fajens Mester
08. september 2005 - 10:46 Der er 10 kommentarer og
1 løsning

Fjerne skrivebeskytelse på fil

Jeg vil gerne i en macro ophæve skrivebeskyttelsen på en excel fil, skrive i den og sætte skrivebeskyttelsen igen.

Hvordan kan jeg det???
Avatar billede sjh Nybegynder
08. september 2005 - 11:34 #1
ved dog ikke lige om Form_Load() virker i excel.. men det andet gør..


Private Sub Form_Load()
Dim strFile As String
Dim attFile As VbFileAttribute

  strFile = "C:\Excel-file.xls"

  attFile = GetAttr(strFile)
  Call SetAttr(strFile, (attFile - vbReadOnly))

End Sub
Avatar billede fajens Mester
08. september 2005 - 16:00 #2
Hej sjh

Det virker ikke, men jeg glemte vist at nævne at det er den aktive fil som er læst ind skrivebeskyttet, hvor skrivebeskyttelsen skal fjernes på.
Det du forslog fjerner godnok skrivebeskyttelsen på filen. Men ikke på den indlæste.

Kan det lade sig gøre.??
Avatar billede sjh Nybegynder
08. september 2005 - 17:31 #3
ha ha det kan du ikke.. når excel åbner en fil så låser den filen så man ikke kan komme til den.. det sker for at sikre at ingen andre programmer kan læse / skrive til filen.. det er vist ikke noget man kan styer selv..
Avatar billede fajens Mester
08. september 2005 - 17:59 #4
Det var noget skidt,
lad os lige se om der kommer andre kloge hoveder. Ellers får du for svar
Avatar billede sjh Nybegynder
08. september 2005 - 20:07 #5
hvad det du vil med den excel file.. siden den ikke må være skrivebeskyttet??
Avatar billede fajens Mester
08. september 2005 - 21:00 #6
Filen bliver brugt som opstartsfil hvor der nogle tællere som skal opdateres og gemmes. Men de tællerer kan ikke opdateres før bruger har gjort nogle valg. hvorefter der køres en macro og filen gemmes med under nyt navn, hvorved den oprindelige file lukkes, tom og klar til næste opstart. Den oprindelige file må ikke forandres bortset fra nogle tællere. Det fungerer ganske udmærket uden skrivebeskyttelse, men så er filen pludselig gemt med indhold, eller rettet af en pilfinger.
Det var var meget nemmere at lave i database, men så skal en masse andet kode også skrives om.
Stor forklaring til lille sag.
Avatar billede bak Forsker
11. september 2005 - 21:19 #7
du ahr en mulighed med

ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite

Dette får dog excel til at genindlæse filen, men det er vel ikke noget problem.

for at ændre tilbage
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
Avatar billede fajens Mester
12. september 2005 - 10:59 #8
Hej bak

Når jeg bruger din mulighed kommer den med følgende besked

'filen.xls er låst mod redigering af en anden bruger
Klik 'På giv bedsked'
Hvordan omgåes jeg den?
Avatar billede martin_moth Mester
20. september 2005 - 13:26 #9
Sørger for, at filen ikke er åben af anden bruger
Avatar billede fajens Mester
12. november 2005 - 09:53 #10
Jeg lukker dette spørgsmål.
uden at dele point ud

Hilsen fajens
Avatar billede martin_moth Mester
14. november 2005 - 08:36 #11
God stil ;o)
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
Kurser inden for grundlæggende programmering

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