Crear archivo plano desde automatizacion

78 views
Skip to first unread message

Noe

unread,
Jun 4, 2015, 11:56:17 AM6/4/15
to publice...@googlegroups.com
Hola foro !!!
espero me puedan ayudar, les doy las gracias de antemano y es lo siguiente
paso los datos de unal tabla libre a una hoja de excel y todo trabaja bien pero como puedo
crear un archivo plano desde la hoja de excel....(se que van a comentar que lo puedo hacer de la tabla con esto

 Copy Fields apepat,apemat,nombre,rfc,sexo To c:\datos\plano\alta_tn5 Type Sdf 

pero lo quiero hacer desde la hoja de excel espero respuesta. yo tengo esto
Store 0 To suma,contador
linea=1

pqna=Allt(Thisform.qna.Value)
pfec=Allt(Thisform.fec.Value)
anio=Allt(Str(Year(DAte())))

vrel='Pla_Qna'+pqna+'_'+'ART.87'+'_'+pfec+'_'+anio+".xls"
ObjXls=Createobject("EXCEL.APPLICATION")

With ObjXls
  .workbooks.Open("c:\reldoc\archivos_excel\plano")
  .activeworkbook.activesheet.pagesetup.Orientation=2
  .ActiveWorkbook.ActiveSheet.UsedRange.Columns().Autofit
  
  Select * From plano Into Cursor cpla
  Scan 
    .Range("A"+Allt(Str(linea+contador))).Select
    .ActiveCell.FormulaR1C1 = cpla.ceros1
    ObjSelec=.Selection()
    ObjSelec.NumberFormat = "0000"
    .Range("B"+Allt(Str(linea+contador))).Select
    .ActiveCell.FormulaR1C1 = cpla.ne
    ObjSelec=.Selection()
    ObjSelec.NumberFormat = "000000"    
    .Range("C"+Allt(Str(linea+contador))).Select
    .ActiveCell.FormulaR1C1 = cpla.fec1
    ObjSelec=.Selection()
    ObjSelec.NumberFormat = "00000000"    
    .Range("D"+Allt(Str(linea+contador))).Select
    .ActiveCell.FormulaR1C1 =cpla.fec2
    ObjSelec=.Selection()
    ObjSelec.NumberFormat = "00000000"        
    .Range("E"+Allt(Str(linea+contador))).Select
    .ActiveCell.FormulaR1C1 = cpla.pag
    ObjSelec=.Selection()
    ObjSelec.NumberFormat = "0000"    
    .Range("F"+Allt(Str(linea+contador))).Select
    .ActiveCell.FormulaR1C1 = cpla.uadm
    ObjSelec=.Selection()
    ObjSelec.NumberFormat = "0000"    
    .Range("G"+Allt(Str(linea+contador))).Select
    .ActiveCell.FormulaR1C1 = cpla.ceros2
    ObjSelec=.Selection()
    ObjSelec.NumberFormat = "00000000000000000000"    
    contador = contador + 1
  Endscan
  
  .Columns("A:A").ColumnWidth = 10.71
  .Columns("B:B").ColumnWidth = 10.71
  .Columns("C:C").ColumnWidth = 10.71
  .Columns("D:D").ColumnWidth = 10.71
  .Columns("E:E").ColumnWidth = 10.71
  .Columns("F:F").ColumnWidth = 10.71
  .Columns("G:G").ColumnWidth = 23.43
    
  .ActiveWorkbook.SaveAs("c:\reldoc\archivos_excel\&vrel")
  
  ObjXls = .Null.
  Release ObjXls
  .Range("A1").Select
  .workbooks.Close   
Endwith


GRACIAS.

Luis Maria Guayan

unread,
Jun 4, 2015, 12:40:23 PM6/4/15
to publice...@googlegroups.com
ingresa el 2do parámetro al método SAVEAS()

Ej:
  .ActiveWorkbook.SaveAs("c:\reldoc\archivos_excel\&vrel", xlCSV )

Aqui están los valores posibles
https://msdn.microsoft.com/es-es/library/microsoft.office.interop.excel.xlfileformat.aspx

Luis María Guayán
Tucumán, Argentina
_______________________________
Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com

Noe

unread,
Jun 4, 2015, 3:01:40 PM6/4/15
to publice...@googlegroups.com, luism...@gmail.com
Hola Luis Maria gracias por contestar.

lo probe y manda un error ( variable xlCSV)

Hugo C.

unread,
Jun 4, 2015, 3:35:26 PM6/4/15
to publice...@googlegroups.com, elcorre...@yahoo.com.mx, luism...@gmail.com
intenta definiendo esta constantante

#DEFINE xlCSV 6

http://fox.wikis.com/wc.dll?Wiki~ExcelConstants

Saludos.

Noe

unread,
Jun 5, 2015, 10:31:34 AM6/5/15
to publice...@googlegroups.com, hcch...@gmail.com, luism...@gmail.com, elcorre...@yahoo.com.mx
Hola Hugo !!!

lo probare 
GRACIAS.

Noe

unread,
Jun 5, 2015, 10:47:06 AM6/5/15
to publice...@googlegroups.com, elcorre...@yahoo.com.mx, hcch...@gmail.com, luism...@gmail.com
hugo lo probé y si funciona, pero lo deja dentro de la hoja de excel lo que necesito en que debe crear afuera un archivo txt

yo dentro de la hoja de excel cree una macro como esta

    ChDir "C:\Reldoc\Archivos_Excel"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Reldoc\Archivos_Excel\Pla_Qna20_ART.87_SEP 20_2015.txt", FileFormat:= _
        xlText, CreateBackup:=False

pero me manda un error, que es lo que debo cambiar?
GRACIAS
Reply all
Reply to author
Forward
0 new messages