1
Visual Basic 6 / Re:Macros para abrir cientos de archivos de textos enumerados de una carpeta
« en: Septiembre 14, 2016, 06:40:13 pm »
el codigo es de word 2013 visto en visual basic. para eliminar saltos de linea reemplazo “^p” (sin las comillas) por un espacio de la barra espaciadora. no selecciono la carpeta de origen,
solo gargo un archivo de texto en word y aplico el macros. me gustaria señalar la carpeta de entrada para importar los archivos enumerados: 1.txt, 2.txt, 3.txt,... hasta unos miles para
que se trabajen y despues de terminar inmediatamente se cierren hasta terminar con todas. por supuesto en esta carpeta solo habran archivos de texto enumerados como explique.
estos archivos de texto son bien simples, y algunos tienen 10 a 15 lineas. ejemplo:
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
a este comtenido le quito los saltos de linea y aumento unas comillas al principio y al final. ejemplo.
"bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla"
luego de esto con excel convierto los archivos de texto trabajados y los convierto a .csv para que todo el contenido se vea en una sola linea. estoy investigando desde antes de ayer pero
esta un poco dificil. gracias, suerte
--------------------------------------------------------------------
aqui dejo otro macros que me resulta pero esta ves importando desde la carpeta donde tengo los archivos de texto:
------------------------------------------------------------------------------------------------------
Sub Macro2222222()
'
' Macro2222222 Macro
'
'
ChangeFileOpenDirectory "D:\borrar"
Documents.Open FileName:="1.txt", ConfirmConversions:=False, ReadOnly:= _
False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
"", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=1252
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.TypeText Text:=""""
Selection.MoveDown Unit:=wdLine, Count:=29
Selection.EndKey Unit:=wdLine
Selection.TypeText Text:=""""
ChangeFileOpenDirectory "D:\borrar\xxx"
ActiveDocument.SaveAs2 FileName:="1.txt", FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False, Encoding:=1252, InsertLineBreaks:=False, AllowSubstitutions:=False _
, LineEnding:=wdCRLF, CompatibilityMode:=0
ActiveWindow.Close
End Sub
solo gargo un archivo de texto en word y aplico el macros. me gustaria señalar la carpeta de entrada para importar los archivos enumerados: 1.txt, 2.txt, 3.txt,... hasta unos miles para
que se trabajen y despues de terminar inmediatamente se cierren hasta terminar con todas. por supuesto en esta carpeta solo habran archivos de texto enumerados como explique.
estos archivos de texto son bien simples, y algunos tienen 10 a 15 lineas. ejemplo:
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
a este comtenido le quito los saltos de linea y aumento unas comillas al principio y al final. ejemplo.
"bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla"
luego de esto con excel convierto los archivos de texto trabajados y los convierto a .csv para que todo el contenido se vea en una sola linea. estoy investigando desde antes de ayer pero
esta un poco dificil. gracias, suerte
--------------------------------------------------------------------
aqui dejo otro macros que me resulta pero esta ves importando desde la carpeta donde tengo los archivos de texto:
------------------------------------------------------------------------------------------------------
Sub Macro2222222()
'
' Macro2222222 Macro
'
'
ChangeFileOpenDirectory "D:\borrar"
Documents.Open FileName:="1.txt", ConfirmConversions:=False, ReadOnly:= _
False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
"", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=1252
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.TypeText Text:=""""
Selection.MoveDown Unit:=wdLine, Count:=29
Selection.EndKey Unit:=wdLine
Selection.TypeText Text:=""""
ChangeFileOpenDirectory "D:\borrar\xxx"
ActiveDocument.SaveAs2 FileName:="1.txt", FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False, Encoding:=1252, InsertLineBreaks:=False, AllowSubstitutions:=False _
, LineEnding:=wdCRLF, CompatibilityMode:=0
ActiveWindow.Close
End Sub