Documento de Word se abre como de sólo lectura cuando intenta abrir mediante programación el documento


Síntomas


Cuando intenta abrir mediante programación un documento de Microsoft Word, el documento se abre como un documento de sólo lectura y no se puede editar el documento.

Al agregar el código
   ReadOnly:=False
el documento aún se abre como un documento de sólo lectura.

Cuando se abre el mismo documento utilizando el comando Abrir , aparece el siguiente mensaje:
Ruta de acceso debería abrirse como de sólo lectura a menos que necesitan guardar los cambios. ¿Abrir como de sólo lectura?
Puede abrir el documento para editarlo haciendo clic en en el mensaje.

Causa


Este problema se produce porque Visual Basic se abre cualquier documento con el atributo de ReadOnlyRecommended establecido en true como un documento de sólo lectura, incluso si se intenta establecer el atributo ReadOnly en false.

Nota: En el ejemplo siguiente se aplica a Word 2003 y 2002:
  1. Inicie Word y, a continuación, cree un nuevo documento.
  2. En el menú Herramientas, haga clic en Opciones.
  3. En el cuadro de diálogo Opciones , en la ficha seguridad , haga clic para activar la casilla de verificación recomendado sólo lectura .
  4. Guarde el documento como C:\Test.doc.
  5. Cierre el documento.
  6. Presione ALT+F11 para iniciar el editor de Visual Basic.
  7. En el menú Insertar , haga clic en módulo.
  8. En la hoja de módulo, escriba el siguiente código:
    Sub Test()

    Documents.Open FileName:="C:\Test.doc", ReadOnly:=False

    End Sub
  9. Presione ALT+F11 para volver a Word.
  10. En el menú Herramientas, señale Macro y, a continuación, haga clic en Macros.
  11. En la lista nombre de Macro , haga clic en probary, a continuación, haga clic en Ejecutar.
El documento se abre como un documento de sólo lectura.

Solución alternativa


Para evitar este problema, utilice la siguiente macro de Word Basic en lugar de la macro de Visual Basic que se muestra en el paso 8 de la sección "Causa" de este artículo:
Sub Test()

WordBasic.FileOpen Name:="C:\Test.doc"

End Sub
Con esta macro puede editarse el archivo una vez que se abre.

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados al principio de este artículo.