Documento word

Marciana:
Como puedo teniendo un documento rtf, txt, word, insertarlo en una tabla de access y después poder abrir con botón en formulario, para manipular y poder volver a guardar, la idea es poder ver el documento desde visual basic y manipular la base de datos.

1 respuesta

Respuesta
1
Tu consulta tiene diferentes posibilidades.
Por la forma en que hacés la pregunta sería una operación rutinaria.
Te paso una rutina que usé para mandar dato es de una tabla a una planilla Excel.
Te sirve para ver como podes abrir excel y copiar datos de una tabla sobre la planilla. Seguramente en tu caso sería más simple si la forma de la tabla en Excel es la misma que la table en Access
Mientras te busco otra que importe.
Perdón, primero la función que pegué está incompleta, luego veo que no mencionás Excel.
Ya te busco algún ejemplo
Ahora sí
Este ejemplo abre un documento Word, busca en el mismo un texto "#NroNota#", lo reemplaza por "12345" y lo guarda con otro nombre.
Te aclaro que si bien lo tengo en uso, el real es más complejo. Ahora lo voy a probar tal como está.
El tema que queda es el contenido.
Esta forma te permite administrar el contenido de una manera particular.
Public Sub EscribeNotaWord()
Dim RutaDocumento As String
Dim Word As New Word.Application
Dim Doc As Word.Document
RutaDocumento = "C:\Acá va la ruta \NotaModelo.doc"
Word.Visible = True
Set Doc = Word.Documents.Open(Filename:=RutaDocumento, ReadOnly:=False)
'*************************
With myRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "#NroNota#"
.Replacement.Text = "12345"
.Execute Replace:=wdReplaceAll
End With
Doc.SaveAs "Acá va la ruta para guardar \Nota01.doc"
Doc.Close False
Set Doc = Nothing
Word.Quit
End Sub
Ahora sí está probado. Deberás cambiar la ruta y poner el documento NotaModelo.doc con un campo #NroNota#. En el directorio de salida te dejará un documento Word llamado Nota01.doc con el texto "12345".
Pegá el código en un módulo, para probarlo ejecutalo con F5 (cursor en el código)
No olvides agregar la referencia,
Con la ventana de código abierta: Herramientas/Referencias y agregar Microsoft Word 11.0 Object Library
Yo trabajo con Office 2003.
Suerte, Marciana
Public Sub EscribeNotaWord()
Dim RutaDocumento As String
Dim Word As New Word.Application
Dim Doc As Word.Document
Dim myRange As Range
RutaDocumento = "C:\Provisorios\Apuntes\Todo Expertos\NotaModelo.doc"
Word.Visible = True
Set Doc = Word.Documents.Open(Filename:=RutaDocumento, ReadOnly:=False)
Set myRange = Word.ActiveDocument.Content
'*************************
With myRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "#NroNota#"
.Replacement.Text = "12345"
.Execute Replace:=wdReplaceAll
End With
Doc.SaveAs "C:\Provisorios\Apuntes\Todo Expertos\Nota01.doc"
Doc.Close False
Set Doc = Nothing
Word.Quit
End Sub
Marciana
Como puedo crear un documento rtf, txt, word, excel etc desde visual basic guardar este documento en una carpeta ya asignada y guardar el documento en una bd access sin tener que escribir una ruta determinada, me explico, tengo una ficha de clientes en la que quiero crear y guardar un doc. en la bd access y luego rescatar si quisiera revisar o modificar, en este cliente quisiera crear doc o guardar ya existentes.
La respuesta anterior esta de pelos.
Hay una posibilidad muy simple que es abrir un documento Word desde Access. En realidad abre la aplicación.
Por ejemplo al hacer un clic en un botón de un formulario Access se abre un cuadro de diálogo que te permite elegir un documento determinado, cuando lo elegís te lo abre en Word.
Tan simple como esto: (en el evento Al hacer clic del botón)
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "ABMExpedientes"
DoCmd. OpenForm stDocName,,, stLinkCriteria
Yo supuse que tu problema era otro. En lugar de abrir un documento habría que crear uno de cero (te busco la sentencia)
Luego la sentencia que guarda está creando un documento nuevo.
Espero tus comentarios, cordialmente. Marciana
En cuanto a lo que preguntás primero,
"como puedo crear un documento rtf, txt, word, excel etc desde visual basic guardar este documento en una carpeta ya asignada" eso es lo que precisamente hace el ejemplo que te mandé antes. Abre documento y luego crea un documento nuevo.
No comprendo bien esto "guardar el documento en una bd access sin tener que escribir una ruta determinada"
¿Guardar el documento o el contenido del documento? En Access la información solamente se guarda en tablas.
Si lo que querés es tener las fichas en Word y poder abrirlas, modificarlas, volverlas a guardar y crear nuevas. Eso se hace perfectamente con el código que te envié.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas