Author | Topic: Copiar + Pegar Hojas en Excel | |
---|---|---|
Javier Jareo | Copiar + Pegar Hojas en Excel on Sat, 10 Dec 2011 14:51:11 +0100 Hola, S cmo mover Hojas en Excel con ActiveX, pero no s cmo Copiar y Pegar Hojas. El Macro indica "Copy Before := Sheets(n)", "Copy After ...", pero no se admite en Cdigo de Xbase++. Alguien puede ayudarme? Javier Jareo dminfor@terra.es | |
Hector Pezoa | Re: Copiar + Pegar Hojas en Excel on Sat, 10 Dec 2011 11:37:40 -0300 Javier Estudia este codigo y transformalo a xbase++ a ver si durante estos dias te puedo ayudar Dim oExcel As Excel.Application Dim oWB As Excel.Workbook Dim oWS As Excel.Worksheet Set oExcel = New Excel.Application oExcel.Visible = True ' <-- *** Optional *** Dim oRng1 As Excel.Range Dim oRng2 As Excel.Range Set oWB = oExcel.Workbooks.Add Set oWS = oWB.Worksheets("Sheet1") Set oRng1 = oWS.Range("A1") Set oRng2 = oWS.Range("B2:E5") oRng1.Value = "Hello World" Call oRng1.Copy(Destination:=oRng2) oWB.SaveAs("Hello World.xls") ' <-- Results saved here. "Javier Jareo" <dminfor@terra.es> escribi en el mensaje news:34802671$3b5c44d2$12f953@news.alaska-software.com... > Hola, > S cmo mover Hojas en Excel con ActiveX, pero no s cmo Copiar y > Pegar > Hojas. > El Macro indica "Copy Before := Sheets(n)", "Copy After ...", pero no > se admite en Cdigo de Xbase++. > > Alguien puede ayudarme? > > Javier Jareo > dminfor@terra.es > > > > > | |
Hector Pezoa | Re: Copiar + Pegar Hojas en Excel on Sat, 10 Dec 2011 11:51:48 -0300 Javier Algo mas de ayuda oExcel:=CreateObject"excel.application" ) oExcel:DisplayAlerts=.F. oBook:=oExcel:Workbooks:Add() oSheet:=oExcel:ActiveSheet oSheet:Range( "A1" ):Value ="100.000 REGISTROS" oSheet:Range( "A1:D1" ):HorizontalAlignment := 7 oSheet:Cells(2,3):Value = Time() For I=2 To 100001 oSheet:Cells(I,2):Value = I-1 Next I oSheet:Cells(I-1,3):Value = Time() oExcel:Visible = .T. > > Dim oExcel As Excel.Application > Dim oWB As Excel.Workbook //local oWB > Dim oWS As Excel.Worksheet //local oWS > > Set oExcel = New Excel.Application > oExcel:=CreateObject"excel.application" ) > oExcel.Visible = True ' <-- *** Optional *** oExcel:Visible = > .T. > > Dim oRng1 As Excel.Range //local oRng1 > Dim oRng2 As Excel.Range //local oRng2 > > Set oWB = oExcel.Workbooks.Add /// > oBook:=oExcel:Workbooks:Add() > Set oWS = oWB.Worksheets("Sheet1") > ///oSheet:=oExcel:ActiveSheet //("Shee1") > Set oRng1 = oWS.Range("A1") /// oSheet:Range( "A1" ) > Set oRng2 = oWS.Range("B2:E5") > > oRng1.Value = "Hello World" Tambien puedes usar > oSheet:Range( "A1" ):Value ="Hello World" > Call oRng1.Copy(Destination:=oRng2) > > oWB.SaveAs("Hello World.xls") ' <-- Results saved here. > > > | |
Hector Pezoa | Re: Copiar + Pegar Hojas en Excel on Sat, 10 Dec 2011 12:13:50 -0300 Javier o puedes ser esto lo que necesitas http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/411-copiar-hojas-en-excel-desde-vb.htm saludos "Hector Pezoa" <hpezoa@telsur.cl> escribi en el mensaje news:30519830$10749b2b$12f53c@news.alaska-software.com... > Javier > Algo mas de ayuda > > oExcel:=CreateObject"excel.application" ) > oExcel:DisplayAlerts=.F. > oBook:=oExcel:Workbooks:Add() > oSheet:=oExcel:ActiveSheet > oSheet:Range( "A1" ):Value ="100.000 REGISTROS" > oSheet:Range( "A1:D1" ):HorizontalAlignment := 7 > oSheet:Cells(2,3):Value = Time() > For I=2 To 100001 > oSheet:Cells(I,2):Value = I-1 > Next I > oSheet:Cells(I-1,3):Value = Time() > oExcel:Visible = .T. > >> >> Dim oExcel As Excel.Application >> Dim oWB As Excel.Workbook //local oWB >> Dim oWS As Excel.Worksheet //local oWS >> >> Set oExcel = New Excel.Application >> oExcel:=CreateObject"excel.application" ) >> oExcel.Visible = True ' <-- *** Optional *** oExcel:Visible = >> .T. > >> >> Dim oRng1 As Excel.Range //local oRng1 >> Dim oRng2 As Excel.Range //local oRng2 >> >> Set oWB = oExcel.Workbooks.Add /// >> oBook:=oExcel:Workbooks:Add() >> Set oWS = oWB.Worksheets("Sheet1") ///oSheet:=oExcel:ActiveSheet >> //("Shee1") >> Set oRng1 = oWS.Range("A1") /// oSheet:Range( "A1" ) >> Set oRng2 = oWS.Range("B2:E5") >> >> oRng1.Value = "Hello World" Tambien puedes usar >> oSheet:Range( "A1" ):Value ="Hello World" >> Call oRng1.Copy(Destination:=oRng2) >> >> oWB.SaveAs("Hello World.xls") ' <-- Results saved here. >> >> >> > > | |
Javier Jareo | Re: Copiar + Pegar Hojas en Excel on Sat, 10 Dec 2011 20:24:55 +0100 Muchas gracias, Hctor. Con este mtodo ya saba hacerlo. Pero lo que necesito es copiar y pegar la Hoja en s, incluidas pues sus definiciones de mrgenes, saltos, parmetros de impresin, etc. Gracias de nuevo. Javier Jareo dminfor@terra.es "Hector Pezoa" <hpezoa@telsur.cl> escribi en el mensaje news:1e21f509$11c7b94b$130c83@news.alaska-software.com... > Javier > > o puedes ser esto lo que necesitas > http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/411-copiar-hojas-en-excel-desde-vb.htm > > saludos > > > > "Hector Pezoa" <hpezoa@telsur.cl> escribi en el mensaje > news:30519830$10749b2b$12f53c@news.alaska-software.com... >> Javier >> Algo mas de ayuda >> >> oExcel:=CreateObject"excel.application" ) >> oExcel:DisplayAlerts=.F. >> oBook:=oExcel:Workbooks:Add() >> oSheet:=oExcel:ActiveSheet >> oSheet:Range( "A1" ):Value ="100.000 REGISTROS" >> oSheet:Range( "A1:D1" ):HorizontalAlignment := 7 >> oSheet:Cells(2,3):Value = Time() >> For I=2 To 100001 >> oSheet:Cells(I,2):Value = I-1 >> Next I >> oSheet:Cells(I-1,3):Value = Time() >> oExcel:Visible = .T. >> >>> >>> Dim oExcel As Excel.Application >>> Dim oWB As Excel.Workbook //local oWB >>> Dim oWS As Excel.Worksheet //local oWS >>> >>> Set oExcel = New Excel.Application >>> oExcel:=CreateObject"excel.application" ) >>> oExcel.Visible = True ' <-- *** Optional *** oExcel:Visible >>> = .T. >> >>> >>> Dim oRng1 As Excel.Range //local oRng1 >>> Dim oRng2 As Excel.Range //local oRng2 >>> >>> Set oWB = oExcel.Workbooks.Add /// >>> oBook:=oExcel:Workbooks:Add() >>> Set oWS = oWB.Worksheets("Sheet1") ///oSheet:=oExcel:ActiveSheet >>> //("Shee1") >>> Set oRng1 = oWS.Range("A1") /// oSheet:Range( "A1" ) >>> Set oRng2 = oWS.Range("B2:E5") >>> >>> oRng1.Value = "Hello World" Tambien puedes usar >>> oSheet:Range( "A1" ):Value ="Hello World" >>> Call oRng1.Copy(Destination:=oRng2) >>> >>> oWB.SaveAs("Hello World.xls") ' <-- Results saved here. >>> >>> >>> >> >> > > > | |
Jorge L | Re: Copiar + Pegar Hojas en Excel on Sun, 11 Dec 2011 11:24:47 -0300 Hola Javier, no me queda claro si lo que necesitas es transferir datos entre 2 planillas que controla tu aplicación, o entre tu aplicación y una planilla del usuario en fin..., si lo que necesitas es hacer uso del portapapeles con la clase xbpclipboard() saludos "Javier Jareño" escribió en el mensaje de noticias:d35fe30$2d05a5bc$132742@news.alaska-software.com... Muchas gracias, Héctor. Con este método ya sabía hacerlo. Pero lo que necesito es copiar y pegar la Hoja en sí, incluidas pues sus definiciones de márgenes, saltos, parámetros de impresión, etc. Gracias de nuevo. Javier Jareño dminfor@terra.es "Hector Pezoa" <hpezoa@telsur.cl> escribió en el mensaje news:1e21f509$11c7b94b$130c83@news.alaska-software.com... > Javier > > o puedes ser esto lo que necesitas > http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/411-copiar-hojas-en-excel-desde-vb.htm > > saludos > > > > "Hector Pezoa" <hpezoa@telsur.cl> escribió en el mensaje > news:30519830$10749b2b$12f53c@news.alaska-software.com... >> Javier >> Algo mas de ayuda >> >> oExcel:=CreateObject"excel.application" ) >> oExcel:DisplayAlerts=.F. >> oBook:=oExcel:Workbooks:Add() >> oSheet:=oExcel:ActiveSheet >> oSheet:Range( "A1" ):Value ="100.000 REGISTROS" >> oSheet:Range( "A1:D1" ):HorizontalAlignment := 7 >> oSheet:Cells(2,3):Value = Time() >> For I=2 To 100001 >> oSheet:Cells(I,2):Value = I-1 >> Next I >> oSheet:Cells(I-1,3):Value = Time() >> oExcel:Visible = .T. >> >>> >>> Dim oExcel As Excel.Application >>> Dim oWB As Excel.Workbook //local oWB >>> Dim oWS As Excel.Worksheet //local oWS >>> >>> Set oExcel = New Excel.Application >>> oExcel:=CreateObject"excel.application" ) >>> oExcel.Visible = True ' <-- *** Optional *** oExcel:Visible >>> = .T. >> >>> >>> Dim oRng1 As Excel.Range //local oRng1 >>> Dim oRng2 As Excel.Range //local oRng2 >>> >>> Set oWB = oExcel.Workbooks.Add /// >>> oBook:=oExcel:Workbooks:Add() >>> Set oWS = oWB.Worksheets("Sheet1") ///oSheet:=oExcel:ActiveSheet >>> //("Shee1") >>> Set oRng1 = oWS.Range("A1") /// oSheet:Range( "A1" ) >>> Set oRng2 = oWS.Range("B2:E5") >>> >>> oRng1.Value = "Hello World" Tambien puedes usar >>> oSheet:Range( "A1" ):Value ="Hello World" >>> Call oRng1.Copy(Destination:=oRng2) >>> >>> oWB.SaveAs("Hello World.xls") ' <-- Results saved here. >>> >>> >>> >> >> > > > | |
Jose Antonio Diego Kereje | Re: Copiar + Pegar Hojas en Excel on Sun, 11 Dec 2011 17:48:23 +0100 Hola Javier: Aquí tienes una manera de cómo se puede hacer. En el ejemplo se copia la Hoja2 del archivo Out.xls y se pega antes de la primera hoja del archivo In.xls Saludos. Test.zip | |
AUGE_ OHR | Re: Copiar + Pegar Hojas en Excel on Sun, 11 Dec 2011 18:15:35 +0100 hi, as i can say you try to "copy" a "VIEW" Object which will not work. as i say you need a "RANGE" Object to "copy","move","insert" etc. here the Macro i got Sub Makro1() ' ' Makro1 Makro ' ' Range("A1:F1").Select mark A1:F1 Selection.Copy right Mouse Menu "copy" Sheets("Hoja1").Select change to 2nd Sheet Range("A2:E2").Select select A2:E2 Selection.Insert Shift:=xlDown "insert" before and "shift" down old selection End Sub greetings by OHR Jimmy | |
Jose Antonio Diego Kereje | Re: Copiar + Pegar Hojas en Excel on Sun, 11 Dec 2011 18:38:58 +0100 Jimmy, > as i can say you try to "copy" a "VIEW" Object which will not work. I think what you say is wrong. Have you tried the sample?. If you do, you can see that he does what he asks Javier. > as i say you need a "RANGE" Object to "copy","move","insert" etc. > here the Macro i got No. You forget that there are many methods that automate standard or generic operations. Regards. Diego | |
AUGE_ OHR | Re: Copiar + Pegar Hojas en Excel on Sun, 11 Dec 2011 20:07:40 +0100 hi, > I think what you say is wrong. Have you tried the sample?. yes i have look into "original" XLS before start Demo and than see result. > If you do, you can see that he does what he asks Javier. i got 4 Tabs in "IN.XLS" where the new Tab called "Hoja2(2)" if he want this than i have missunderstood what he meen. i tought that he want to "inset" into a Sheet "between" existing Cell what my Macro is doing. > No. You forget that there are many methods that automate standard or > generic operations. yes this i understand but "most" time you want to work on a "Part" of hole Sheet so Range().Select is used to "mark" the "Part" you want to work with. as i say it would be more clear if we got the hole Excel Macro which record that what he realy want to make with Copy / Paste greetings by OHR Jimmy | |
Jose Antonio Diego Kereje | Re: Copiar + Pegar Hojas en Excel on Sun, 11 Dec 2011 17:49:19 +0100 Hola Javier: Aquí tienes una manera de cómo se puede hacer. En el ejemplo se copia la Hoja2 del archivo Out.xls y se pega antes de la primera hoja del archivo In.xls Saludos. Test.zip | |
Javier Jareo | Re: Copiar + Pegar Hojas en Excel on Sun, 11 Dec 2011 23:27:24 +0100 Diego, Esto es exactamente lo que quera. He trabajado mucho con ActiveX en Excel y, hasta ahora, no haba necesitado copiar hojas. Llevo aos siguiendo este foro y admiro tu trabajo. Mucha gracias, y un cordial saludo. Javier Jareo Serrano dminfor@terra.es <Jose Antonio Diego Kereje> escribi en el mensaje news:2924c14c$f990645$14a0c@news.alaska-software.com... > Hola Javier: > > Aqu tienes una manera de cmo se puede hacer. En el ejemplo se copia la > Hoja2 del archivo Out.xls y se pega antes de la primera hoja del archivo > In.xls > > Saludos. > |