Word Dökümanı İçinde Kaydet, Farklı Kaydet, Yazdırma İşlevlerini Kapatma(Engelleme,Yasaklama)ve Dökümanı İçeriğinin Değiştirmesini Engelleme.
Bir çalışmamı sizinle paylaşmak istiyorum. Bu çalışmadaki amacım, ISO prosedürlerinin kullanıcılar tarafından kopyalanmasını, yazdırılmasını ve değiştirilmesini engellemek, sadece okunmasını sağlamaktı. Kullanıcıların Word dökümanlarına ulaşımını sağlamak için bir Script dosyası kullandım. Bu Scirpt dosyasının görevi ise Makro güvenlik düzeyini aşmak idi. Bu şekilde bir kullanım için Word dosyalarını dışarıdan açacak bir Scipt dosyasına ihtiyacınız olacaktır.
Bir Script Dosyası Nasıl Oluşturulur Derseniz...
MasaÜstü üzerinde bir Metin Belgesi oluşuturun, aşağıdaki kodu içine ekleyin ve dosyayı farklı kaydederken dosya ismi sonuna Vbs uzantısını(Örneğin: Yeni.Vbs) şeklinde ekleyin.
1-Bir Word Dökümanı açın Alt+F11 tuşuna basın.ThisDocument. içine aşağıdaki kodu ekleyin.
2-Vba Editörü içindeyken Insert menüsünden bir Module ve içine de aşağıdaki kodu ekleyin.
3-Yine Vba Editörü içindeyken Insert menüsünden bir Class Module ve içine de aşağıdaki kodu ekleyin.
07/02/2012 Tarihinde Güncellenmiştir.
Bir çalışmamı sizinle paylaşmak istiyorum. Bu çalışmadaki amacım, ISO prosedürlerinin kullanıcılar tarafından kopyalanmasını, yazdırılmasını ve değiştirilmesini engellemek, sadece okunmasını sağlamaktı. Kullanıcıların Word dökümanlarına ulaşımını sağlamak için bir Script dosyası kullandım. Bu Scirpt dosyasının görevi ise Makro güvenlik düzeyini aşmak idi. Bu şekilde bir kullanım için Word dosyalarını dışarıdan açacak bir Scipt dosyasına ihtiyacınız olacaktır.
Bir Script Dosyası Nasıl Oluşturulur Derseniz...
MasaÜstü üzerinde bir Metin Belgesi oluşuturun, aşağıdaki kodu içine ekleyin ve dosyayı farklı kaydederken dosya ismi sonuna Vbs uzantısını(Örneğin: Yeni.Vbs) şeklinde ekleyin.
Kod:
Dim word
Set word = CreateObject("word.application")
word.Documents.Open "C:\dene.docx" ' Dosyanın bulunduğu yolu kendinize göre ayarlayın.
word.Visible = True
1-Bir Word Dökümanı açın Alt+F11 tuşuna basın.ThisDocument. içine aşağıdaki kodu ekleyin.
Kod:
Private Sub Document_Open()
If ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, [b][color=blue]Password:="5"[/b][/color]
End If
ActiveWindow.View.ReadingLayout = True
ActiveWindow.View.ReadingLayoutActualView = True
Call Register_Event_Handler
End Sub
Kod:
Dim X As New Class1
Sub Register_Event_Handler()
Set X.app = Word.Application
End Sub
Kod:
Public WithEvents app As Word.Application
Private Sub app_DocumentBeforePrint _
(ByVal Doc As Document, _
Cancel As Boolean)
MsgBox "Bu Belgeyi Yazdırma İzniniz Yoktur.": Cancel = True
End Sub
Private Sub app_DocumentBeforeSave _
(ByVal Doc As Document, _
SaveAsUI As Boolean, _
Cancel As Boolean)
MsgBox "Bu Belgeyi Kaydetme İzniniz Yoktur.": Cancel = True 'Kaydetme İşlevini Engellemek İçin.
'If SaveAsUI = True Then MsgBox "Bu Belgeyi Farklı Kaydetme İzniniz Yoktur.": Cancel = True 'Farklı Kaydetmeyi İşlevini Engellemek İçin.
End Sub
Private Sub app_WindowSelectionChange(ByVal Sel As Selection)
If ActiveWindow.View.ReadingLayout = False Then
ActiveDocument.Close False
End If
End Sub
Ekli dosyalar
-
33.5 KB Görüntüleme: 56