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.
Zaščita TXT datoteke
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'
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
Matjaž Prtenjak
Administrator
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
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
robi
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
Matjaž Prtenjak
Administrator