Zaščita TXT datoteke

Pomoč pri izdelavi makrov
Odgovori
roko4
Prispevkov: 17
Pridružen: Pe Sep 18, 2009 1:27 pm

Zaščita TXT datoteke

Odgovor Napisal/-a roko4 »

V TXT datoteko zapišem, čas in datum odprtja in zaprtja delovnega zvezka.

Sedaj pa bi jo rad nekako zasčitil, da je ne bi bilo mogoče spreminjati (dovoljeno samo branje) če se odpre z Notepad-om.

HVALA za odgovor.
LP
robi
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

TXT datoteke lahko zaščitite samo na nivoju operacijskega sistema. Takšno datoteko v OS označite kot 'Samo za branje' in potem njeno spreminjanje ne bo dovoljeno.

Seveda pa to pomeni, da tudi VBA ne bo mogel direktno pisati v takšno datoteko. V tem primeru bo moral VBA najprej pobrisati oznako, da je datoteka samo za branje, popraviti datoteko in jo na koncu spet označitikot 'Samo za branje'
lp,
Matjaž Prtenjak
Administrator
roko4
Prispevkov: 17
Pridružen: Pe Sep 18, 2009 1:27 pm

Odgovor Napisal/-a roko4 »

Prosil bi vas za kakšen primer, kako se to naredi, kajti meni ga ne uspe najti.
Sem se pa na vašemu forumu (ni boljšega za začetnika kot sem jaz-moja izkušnja) že naučil, kako se datoteko odpre, vanjo kaj zapiše in zapre.

Funkcija:

Public PotDatoteke As String
Public BesediloZapisa As String

Public Function ZapisiVDatoteko(ByVal PotDatoteke, ByVal BesediloZapisa)

Dim ZapisanString As String
Dim CasZapisa As String
Dim iRet As String

CasZapisa = Now

Open PotDatoteke For Append As #1
'iRet = MsgBox("Datoteka odprta!")
ZapisanString = CStr(CasZapisa) + CStr(": ") + CStr(BesediloZapisa)
Print #1, ZapisanString
'iRet = MsgBox("V datoteki je zapisano: " & ZapisanString)
Close #1
'iRet = MsgBox("Datoteka zaprta!")
End Function
LP
robi
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Trej tako kot sem vam napisal:

Koda: Izberi vse

Sub Pisi()

  ' 1. datoteko odščitite
  SetAttr "c:\moja_datoteka.txt", vbNormal

  ' 2. pišete v datoteko
  ' >>>>> sem pride klic vaše funkcije za pisanje v datoteko

  ' 3. datoteko spet zaščitite
  SetAttr "c:\moja_datoteka.txt", vbReadOnly

End Sub
lp,
Matjaž Prtenjak
Administrator
roko4
Prispevkov: 17
Pridružen: Pe Sep 18, 2009 1:27 pm

Odgovor Napisal/-a roko4 »

SUPER!! HVALA!!

Že deluje.
LP
robi
Odgovori