..|| Blog || Produkti/Storitve || MExcel || MDodatki || 300 nasvetov ||..

Zaščita TXT datoteke

Pomoč pri izdelavi makrov

Zaščita TXT datoteke

OdgovorNapisal/-a roko4 » Pe okt 09, 2009 2:44 pm

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
roko4
 
Prispevkov: 17
Pridružen: Pe sep 18, 2009 1:27 pm



Matjazev.NET
 

OdgovorNapisal/-a admin » Pe okt 09, 2009 7:27 pm

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
admin
Site Admin
 
Prispevkov: 3526
Pridružen: Sr jul 20, 2005 10:06 pm

OdgovorNapisal/-a roko4 » So okt 10, 2009 7:09 am

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
roko4
 
Prispevkov: 17
Pridružen: Pe sep 18, 2009 1:27 pm

OdgovorNapisal/-a admin » So okt 10, 2009 2:09 pm

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
admin
Site Admin
 
Prispevkov: 3526
Pridružen: Sr jul 20, 2005 10:06 pm

OdgovorNapisal/-a roko4 » So okt 10, 2009 2:56 pm

SUPER!! HVALA!!

Že deluje.
LP
robi
roko4
 
Prispevkov: 17
Pridružen: Pe sep 18, 2009 1:27 pm


Vrni se na VBA

Kdo je prisoten

Po forumu brska: 0 registriranih uporabnikov in 2 gostov

cron