Hola a toda la comunidad de solocodigo...
Mi problema es el siguiente:
Estoy intentado copiar el contenido de unos archivos de texto (.txt) en unos documentos de word, los documentos son creados con el mismo nombre que los archivos de texto (solo cambian la extension a .doc)... Por ejemplo...
Si el archivo se llama
Archivo.txt, se debe crear un documento de word con el mismo nombre pero de extensión .doc, es decir, debe crearse
Archivo.doc con el contenido de
Archivo.txt.
Para esto he creado una funcion y un subproceso (en un modulo), aqui se los coloco:
Esto es para leer el contenido de los archivos de texto:Public Function LeerTexto(ArchivoTXT As String) As String
If ArchivoTXT = "" Then Exit Function
Dim NroLibre As Integer
Dim Ruta As String
Dim Linea As String
Dim Texto As String
Ruta = App.Path & "" & ArchivoTXT
NroLibre = FreeFile
Open Ruta For Input As #NroLibre
While Not EOF(1)
Line Input #NroLibre, Linea
Texto = Texto & Linea & vbCrLf
Wend
Close #NroLibre
LeerTexto = Texto
End Function
Esto es para crear el documento de word:Sub AgregarWord(Texto_A_Escribir As String, Nombre_ArchivoTXT As String)
If Nombre_ArchivoTXT = "" Then Exit Sub
Dim Texto As String
Dim Nombre_Archivo As String 'este es el nombre del archivo sin la extensión.
Texto = Texto_A_Escribir
Dim Word As New Word.Application
'AGREGA DOCUMENTO
Word.Documents.Add
'AGREGA TEXTO
Word.Selection.Font.Color = wdColorBlack
Word.Selection.Font.Name = "Courier new"
Word.Selection.TypeText Texto
'AGREGA PARRAFO
Word.Selection.TypeParagraph
'SELECCIONA TEXTO
Word.Selection.WholeStory
Word.Selection.Font.Size = 10
Nombre_Archivo = Left(Nombre_ArchivoTXT, Len(Nombre_ArchivoTXT) - 4)
ActiveDocument.SaveAs FileName:=App.Path & "" & Nombre_Archivo & ".doc"
Set Word = Nothing
End Sub
Y en un boton command1 del formulario coloco lo siguiente:
Private Sub Command1_Click()
Dim Archivo As String
Dim Texto As String
Archivo = Dir(App.Path & "*.txt")
While Archivo <> ""
Texto = LeerTexto(Archivo)
Call AgregarWord(Texto, Archivo)
Archivo = Dir
Wend
MsgBox ("Finalizado")
End Sub
El problema es que los archivos de Word creados no cierran del todo... me doy cuenta cuando abro el administrador ( CTRL + Alt + Sup) y encuentro en la lista la aplicacion de word (y esta abierta!!!)...
Miren la siguiente imagen y dense cuenta de los WINWORD que aun estan abiertos (en este ejemplo, solo cree tres documentos de word, por lo que solo aparecen 3 Winword en la imagen)
¿Como hago para que despues de ejecutar mi code esta aplicacion no este abierta?, que le falta a mi codigo?...
Saludos.