Abrir word sin permisos
Publicado por mlp (5 intervenciones) el 23/07/2014 08:48:36
Hola,
necesito abrir un word y que el usuario no pueda hacer nada en él, sólo visualizarlo, no modificar nada, porque en cuanto modifica, al cerrarlo, le sale la ventana de diálogo para grabar y puede abrir otros documentos.
Actualmente estoy probando con esta función que adjunto, me desactiva las barras y todas las posibles acciones, pero cuando cierro el word, si he modificado algo, me permite guardar, yo querría cerrar sin hacer caso de los cambios o bloquear el documento para que no pueda modificarlo.
Muchas gracias
Public Function AbrirDoc()
On Error GoTo ERR_AbrirDoc
Dim Word As Object
Dim i As Integer
Set Word = GetObject(, "word.Application")
Word.Documents.Open fileName:="C:\Tmp\prueba.doc", Revert:=False, ReadOnly:=True
Word.Application.CommandBars.ActiveMenuBar.Enabled = False
For i = 1 To Word.Application.CommandBars.Count
Word.Application.CommandBars(i).Enabled = False
Next
Word.Visible = True
Exit Function
ERR_AbrirDoc:
If Err.Number = 429 Then
Err.Clear
Set Word = CreateObject("Word.Application")
Resume
ElseIf Err.Number = 5273 Then
Err.Clear
Set Word = Nothing
Else
msgbox Err.Number & " " & Err.Description
End If
End Function
necesito abrir un word y que el usuario no pueda hacer nada en él, sólo visualizarlo, no modificar nada, porque en cuanto modifica, al cerrarlo, le sale la ventana de diálogo para grabar y puede abrir otros documentos.
Actualmente estoy probando con esta función que adjunto, me desactiva las barras y todas las posibles acciones, pero cuando cierro el word, si he modificado algo, me permite guardar, yo querría cerrar sin hacer caso de los cambios o bloquear el documento para que no pueda modificarlo.
Muchas gracias
Public Function AbrirDoc()
On Error GoTo ERR_AbrirDoc
Dim Word As Object
Dim i As Integer
Set Word = GetObject(, "word.Application")
Word.Documents.Open fileName:="C:\Tmp\prueba.doc", Revert:=False, ReadOnly:=True
Word.Application.CommandBars.ActiveMenuBar.Enabled = False
For i = 1 To Word.Application.CommandBars.Count
Word.Application.CommandBars(i).Enabled = False
Next
Word.Visible = True
Exit Function
ERR_AbrirDoc:
If Err.Number = 429 Then
Err.Clear
Set Word = CreateObject("Word.Application")
Resume
ElseIf Err.Number = 5273 Then
Err.Clear
Set Word = Nothing
Else
msgbox Err.Number & " " & Err.Description
End If
End Function
Valora esta pregunta


0