Trabajar con documentos de Word con VB.Net
Te agradecería tu ayuda sin darte mucho quebradero de cabeza con esta pregunta, ya que me lleva loco toda la semana y no encuentro solución.
Te cuento...
Hasta ahora he hecho algún que otro programa simple con VB 6.0 pero me he visto en la obligación de actualizarme a VB.net, confiando en que será mucho mejor y más productivo, pero me estoy llevando muchas desilusiones puesto que para hacer cualquier cosa que en VB me funcionaba perfectamente, en Net, surgen problemas por todos sitios, por ejemplo, te cuento lo que estoy intentando y el código que utilizo (resumido para que no te sea muy lioso).
Mi intención es abrir un documento de Microsoft Word 2007 guardado en el directorio de la aplicación y cuando ya consigo después de utilizar de por lo menos 5 formas diferentes el código, el único que me abre el documento y me ingresa los datos es éste:
Imports Microsoft. Office. Interop
Private Sub btnCrearDi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCrearDi.Click
' Abrir un documento de Word e introducir texto en un marcador.
Dim AppWord As Word.Application
Dim sRutaDoc As String
Dim sSalvaDoc As String
Cursor = System.Windows.Forms.Cursors.WaitCursor
btnCrearDiligencias.Enabled = False
Application.DoEvents()
sRutaDoc = Application.StartupPath & "\Documentos\Doc1.doc"
AppWord = New Word.Application()
AppWord.Documents.Open(sRutaDoc)
sSalvaDoc = Application.StartupPath & "\Documentos\DocGuardado1.doc"
' Guardamos el documento y es aquí donde me da el error: "No se encuentra el miembro 'público 'SaveAs' 'en el tipo 'ApplicationClass'.
AppWord.SaveAs(FileName:=sSalvaDoc)
'marcadores para isertar texto
AppWord.Selection.GoTo(What:=Word.WdGoToItem.wdGoToBookmark, Name:="MarcadorNúmero")
AppWord.Selection.TypeText(Text:=TxtNúmero.Text)
AppWord.Visible = True
Cursor = System.Windows.Forms.Cursors.Default
btnCrearDiligencias.Enabled = True
AppWord. Documents. Save()
'AppWord. Close()
' Cerramos Word
'AppWord. Quit()
' Liberamos los recursos
'AppWord = Nothing
End Sub
Se supone que SaveAs es un miembro de Microsoft Word y éste está ya referenciado y en concreto la versión 12 (Word 2007), por lo que no comprendo el mensaje: "No se encuentra el miembro 'público 'SaveAs' 'en el tipo 'ApplicationClass'.
¿Tengo qué agregar otra referencia?... ¿Conoces otro método para grabar los documentos en un directorio?...
Bueno, te agradecería que me eches una mano por lo menos para averiguar por que surge este problema..
Te cuento...
Hasta ahora he hecho algún que otro programa simple con VB 6.0 pero me he visto en la obligación de actualizarme a VB.net, confiando en que será mucho mejor y más productivo, pero me estoy llevando muchas desilusiones puesto que para hacer cualquier cosa que en VB me funcionaba perfectamente, en Net, surgen problemas por todos sitios, por ejemplo, te cuento lo que estoy intentando y el código que utilizo (resumido para que no te sea muy lioso).
Mi intención es abrir un documento de Microsoft Word 2007 guardado en el directorio de la aplicación y cuando ya consigo después de utilizar de por lo menos 5 formas diferentes el código, el único que me abre el documento y me ingresa los datos es éste:
Imports Microsoft. Office. Interop
Private Sub btnCrearDi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCrearDi.Click
' Abrir un documento de Word e introducir texto en un marcador.
Dim AppWord As Word.Application
Dim sRutaDoc As String
Dim sSalvaDoc As String
Cursor = System.Windows.Forms.Cursors.WaitCursor
btnCrearDiligencias.Enabled = False
Application.DoEvents()
sRutaDoc = Application.StartupPath & "\Documentos\Doc1.doc"
AppWord = New Word.Application()
AppWord.Documents.Open(sRutaDoc)
sSalvaDoc = Application.StartupPath & "\Documentos\DocGuardado1.doc"
' Guardamos el documento y es aquí donde me da el error: "No se encuentra el miembro 'público 'SaveAs' 'en el tipo 'ApplicationClass'.
AppWord.SaveAs(FileName:=sSalvaDoc)
'marcadores para isertar texto
AppWord.Selection.GoTo(What:=Word.WdGoToItem.wdGoToBookmark, Name:="MarcadorNúmero")
AppWord.Selection.TypeText(Text:=TxtNúmero.Text)
AppWord.Visible = True
Cursor = System.Windows.Forms.Cursors.Default
btnCrearDiligencias.Enabled = True
AppWord. Documents. Save()
'AppWord. Close()
' Cerramos Word
'AppWord. Quit()
' Liberamos los recursos
'AppWord = Nothing
End Sub
Se supone que SaveAs es un miembro de Microsoft Word y éste está ya referenciado y en concreto la versión 12 (Word 2007), por lo que no comprendo el mensaje: "No se encuentra el miembro 'público 'SaveAs' 'en el tipo 'ApplicationClass'.
¿Tengo qué agregar otra referencia?... ¿Conoces otro método para grabar los documentos en un directorio?...
Bueno, te agradecería que me eches una mano por lo menos para averiguar por que surge este problema..
1 respuesta
Respuesta de mcominor
1