Necesito pasar un fichero de texto separados con comas a Excel con visual Basic. No una macro de excel, eso ya lo se hacer. Pero necesito saber donde puedo encontrar código fuente con un ejemplo de como realizar esto.
1 Respuesta
Respuesta de pcampora
1
1
pcampora, DATOS PERSONALES: Nacionalidad: Argentina
Cesarvel, Agregale al proyecto una referencia a Microsoft Excel 8.0 Object Library (o la version que tengas instalada en la maquina de desarrollo y en los clientes). Por ultimo, usa el siguiente código: Dim xlApp As Excel.Application Dim myArray(0 To 150) Dim j As Integer 'Asignar referencias de objeto a las variables Set xlApp = CreateObject("Excel.Application") ----- Esta es una forma ----------------------- For j = 0 To 150 myArray(j) = Array(j + 1, 1) Next For j = 0 To 150 myArray(j) = Array(j + 1, 2) Next 'Abrimos el archivo xlApp.Workbooks.OpenText _ FileName:="C:\ejemplo.txt", _ Origin:=xlWindows, _ StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, _ Space:=False, Other:=False, FieldInfo:=myArray ----- Esta es otra forma ----------------------- 'Abrimos el archivo xlApp.Workbooks.Open _ FileName:="C:\ejemplo.txt", _ Format:=xlCSV, _ Delimiter:=";", _ ReadOnly:=True ------------------------------------------------ 'Guardamos el archivo xlApp.Workbooks(1).SaveAs "C:\ejemplo.xls", xlExcel7 'Cerrar la hoja de cálculo xlApp.ActiveWorkbook.Close False 'Cerrar Excel xlApp.Quit 'Liberamos memoria Set xlApp = Nothing Fíjate que forma te genera el excel mejor. Cualquier cosa, no dudes en avisarme. Saludos. Pablo. PD: No te olvides de ponerle puntaje a la respuesta.
Ponele puntaje a la respuesta, así puedo seguir contestando otras.