Pida ayuda a los expertos de VB con la programación de códigos: abra un archivo de tabla de datos txt o excel en el menú, encuentre el promedio de varios números en una columna, busque y genere los datos alrededor de la media
Lo específico que hay que hacer es leer los datos de la tabla.
Sin embargo, la operación requiere más tiempo en detalle.
Lea específicamente el siguiente contenido, que también será beneficioso para usted en el futuro.
Utilice el objeto EXCEL para leer los datos en el archivo EXCEL. Luego conéctese a SQL para importar e importar a través de ADODB.
La siguiente es una explicación detallada del objeto EXCEL.
1 Prefacio
Como herramienta de desarrollo de aplicaciones de Windows simple y sistemática, VB tiene poderosas funciones de procesamiento de datos, proporciona una variedad de métodos de acceso a datos y puede acceder fácilmente a varias bases de datos como Microsoft SQL Server, Oracle y XBase se utilizan ampliamente para establecer diversos sistemas de gestión de información. Sin embargo, VB carece de suficientes funciones de salida de tablas de datos que sean consistentes con los hábitos chinos. Aunque el control Crystal Report y el programa Crystal Reports se pueden usar para generar informes, la operación es problemática y las capacidades de procesamiento chinas no son ideales. Excel tiene funciones poderosas en tablas. Podemos usar VB para escribir programas que controlen directamente las operaciones de Excel. El método consiste en utilizar la tecnología de automatización OLE de VB para obtener el control de Excel, controlando así directamente una serie de operaciones de Excel. Este artículo combina mi propia práctica y experiencia para hablar sobre cómo llamar a Exce12000 en aplicaciones VB6.0 para su referencia.
2 Modelo de objetos de Excel
Para poder llamar a Excel en una aplicación VB, debe comprender el modelo de objetos de Excel. El modelo de objetos de Excel describe la estructura teórica de Excel y proporciona muchos objetos. Los objetos que es más probable que se utilicen al llamar a Excel desde VB son: (consulte el artículo sobre objetos de Microsoft Excel)
3 Llamar a Excel
p >Llamar a Excel en una aplicación VB esencialmente se refiere a Excel como un objeto externo. El modelo de objetos de Excel proporciona objetos y propiedades, métodos y eventos relacionados que pueden manipularse mediante programación desde dentro de la aplicación VB.
3.1 Agregar una referencia a la biblioteca de tipos de Excel en el proyecto VB
Para acceder a los ricos recursos internos de Excel desde la aplicación VB y hacer que la aplicación Excel se ejecute más rápido, es necesario Agregar una referencia a la biblioteca de tipos de Excel en el proyecto VB. Los pasos específicos son los siguientes:
1) Para llamar a Excel en una aplicación VB, Excel debe estar instalado en su sistema informático. Seleccione "Referencia" en el menú "Proyecto" de VB5
2) Seleccione la biblioteca de tipos de Excel: "Biblioteca de objetos de Microsoft Excel9.0" en el cuadro de diálogo "Referencia"; 3 ) Haga clic en el pequeño cuadro a la izquierda para que aparezca el símbolo "√".
4) Presione "Aceptar" para salir;
3.2 Referencia al objeto Aplicación
El objeto Aplicación es el nivel superior del modelo de objetos de Excel y representa toda la aplicación de Excel. Llamar a Excel en una aplicación VB es utilizar las propiedades, métodos y eventos del objeto Aplicación.
Para hacer esto, primero declare la variable de objeto:
Dim VBExcel As Object
O declarela directamente como un objeto de Excel:
Dim VBExcel As Excel.Application
Después de declarar una variable de objeto, puede utilizar la función CreateObject o la función GetObject para asignar una referencia de objeto de Aplicación nueva o existente a la variable.
1) Utilice la función CreateObject para generar una nueva referencia de objeto:
Set VBExcel=CreateObject ("Excel.Application")
String "Excel.Application" " es el ID programático que proporciona la aplicación Excel. Esta variable hace referencia a la propia aplicación Excel.
2) Utilice la función GetOct para abrir la referencia del objeto existente:
Set AppExcel=GetObject("Temp.XLS")
La declaración anterior abre la archivo Temp.XLS.
3) Propiedades y métodos de uso común del objeto Aplicación
La propiedad Visible toma Verdadero o Falso para indicar si la aplicación de Excel es visible.
Izquierda, la posición de la ventana de Excel con la propiedad Superior
Alto, el tamaño de la ventana de Excel con la propiedad Ancho
La propiedad WindowState; especifica el estado de la ventana;
Salir del método, salir de Microsoft Excel;
Calcular el método, recalcular todos los libros, hojas de trabajo o celdas abiertas.
Método evaluar, evalúa expresiones matemáticas y devuelve el resultado.
3.3 Uso de la aplicación Excel
Las siguientes categorías brindan propiedades y métodos comúnmente utilizados.
1) Uso del libro de trabajo
El objeto Libro de trabajo representa un libro de trabajo actualmente abierto en la aplicación Excel y está incluido en la colección Libros de trabajo. Se puede acceder al objeto Libro de trabajo a través de la colección Libros de trabajo o el objeto Libro de trabajo activo que representa el libro de trabajo actualmente activo.
Los métodos más utilizados son:
Método Agregar: cree un nuevo libro en blanco y agréguelo a la colección.
Método abierto: abre el libro.
Método Activar: activa el libro de trabajo, convirtiendo el libro de trabajo especificado en el libro de trabajo activo para que pueda usarse como un objeto de Libro de trabajo activo.
Método de guardar: guarde el libro existente de acuerdo con la ruta y el nombre actuales (si se guarda por primera vez, se guardará con el nombre predeterminado, como BOOK1.XLS).
Método Guardar como: guarde el libro por primera vez o guárdelo con otro nombre.
Método Cerrar: Cierra el libro.
Método PrintOut: imprime el libro, la sintaxis es:
PrintOut (de, A, Copias, Vista previa, Impresora, Al archivo, Intercalar)
Parámetros opcionales :
Desde: el número de página inicial para la impresión. Si se omite, la impresión comenzará desde la posición inicial.
A: El número de la página final de la impresión. Si se omite, se imprimirá en la última página.
Copias: Número de copias a imprimir. Si se omite, solo se imprimirá una copia.
Vista previa: si es Verdadero, Excel realizará una vista previa de impresión antes de imprimir el objeto especificado.
Si es False o se omite, el objeto se imprime inmediatamente.
Impresora: Establece el nombre de la impresora activa.
ToFile: si es Verdadero, imprime el resultado en un archivo.
Clasificar: si es Verdadero, imprima cada copia en serie.
La siguiente declaración imprime 3 copias de las páginas 2 a 5 del libro activo:
ActiveWorkbook.PrintOut De:=2 A 5 Copias:=3
2) Utilice la colección de hojas de trabajo
Hojas para representar todas las hojas de trabajo del libro. Se puede acceder a las hojas, activarlas, agregarlas, cambiarles el nombre y eliminarlas a través de la colección Hojas. Un objeto Hoja de trabajo representa una hoja de trabajo.
Los atributos y métodos comúnmente utilizados son:
Atributo Worksheets: Devuelve la colección Sheets.
Atributo de nombre: cambia el nombre de la hoja de trabajo.
Método Agregar: cree una nueva hoja de trabajo y agréguela al libro.
Seleccionar método: Selecciona una hoja de trabajo.
Método de copia: Copiar la hoja de trabajo.
Método de movimiento: mueve la hoja de trabajo especificada a otra ubicación en el libro.
Método de eliminación: elimina la hoja de trabajo especificada.
Método PrintOut: Imprime la hoja de trabajo.
Ejemplo: copie la hoja de trabajo del libro de la unidad C al libro de la unidad A:
Atenuar VBExcel como Excel.Application
Establecer VBExcel=CreateObject ("Excel .Application")
Con VBExcel
Libros de trabajo.Abra "C:\Temp\Ex1.XLS"
Libros de trabajo.Abra "A:\ Ex2.XLS "
Libros de trabajo("Ex1.XLS").Hojas ("Ventas").Copiar
Libros de trabajo("Ex2.XLS")
Libros de trabajo(" Ex2.XLS").Guardar
Libros de trabajo("Ex1.XLS").Cerrar
Libros de trabajo("Ex2.XLS").Cerrar
Salir
Termina con
3) Usar rango de celdas
El objeto Rango representa una determinada celda, una determinada fila, una determinada columna, una determinada selección de la hoja de trabajo A cierta área o un área tridimensional determinada.
Los atributos y métodos comúnmente utilizados son:
Atributo Rango: Rango (arg) donde arg es un símbolo de estilo A1, que representa una sola celda o un rango de celdas.
Atributo de celdas: Las celdas (fila, columna) (donde fila es el número de fila y columna es el número de columna) representan una sola celda.
Propiedad ColumnWidth: especifica el ancho de columna de todas las columnas del área.
Atributo Rowl3eight: Especifica el ancho de fila de todas las filas del área.
Atributo de valor: Especifica el valor de todas las celdas del rango (atributo predeterminado).
Atributo Fórmula: Especifica la fórmula de la celda, referenciada por el estilo A1--.
Seleccionar método: seleccionar rango.
Método de copia: Copia el contenido del rango al portapapeles.
Método C1earContents: borra el contenido del rango.
Método de eliminación: elimina el rango de unidades especificado.
4) Uso de gráficos
El objeto Gráfico representa el gráfico en el libro de trabajo. El gráfico puede ser un gráfico incrustado (contenido en el objeto ChartObject) o una hoja de trabajo de gráfico independiente.
Los métodos más utilizados son:
Método Agregar: crea una nueva hoja de trabajo de gráfico y devuelve un objeto de gráfico.
Método PrineOut: imprime el gráfico.
Método ChartWizard: modifica las propiedades del gráfico dado, la sintaxis es:
ChartWizard(Source, Gallery, Format, P1otBy, CategoryLabels, SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle , ExtraTitle)
Dónde:
Fuente: el área que contiene los datos de origen para el nuevo gráfico. Si se omite, se modificará la hoja de gráfico activa o el gráfico incrustado seleccionado en la hoja activa.
Galería: Tipo de gráfico, su valor puede ser una de las siguientes constantes: xlArea, x1Bar, xlColumn, xlLine, x1Pie, xlRadar, x1XYScatter, xlCombination, x13DArea, x13Dbar, x13DColumn, x13DLine, x13Dpie, x13 Dsurface , xlDoughnut o xlDefaultAutoFormat.
Formato: Número de formato automático incorporado. Si se omite, se seleccionará el valor predeterminado.
P1otBy: Especifica si los datos de la serie provienen de filas (xlRows) o columnas (xlColumns).
CategoryLabels: un número entero que representa el número de filas o columnas en el área de origen que contiene etiquetas de categoría.
SeriesLabels: un número entero que representa el número de filas o columnas en el rango de origen que contiene etiquetas de serie.
HasLegend: Si se especifica True, el gráfico tendrá una leyenda.
Título: Texto del título del gráfico.
CategoryTitle: Texto del título del eje de categorías.
ValueTitle: Texto del título del eje de valores.
ExtraTitle: el título del eje de serie de un gráfico tridimensional o el título del segundo eje de valores de un gráfico bidimensional.
Puede utilizar el método Agregar en combinación con el método ChartWizard para crear una hoja de cálculo de gráfico que contenga los datos de la hoja de cálculo. El siguiente ejemplo genera e imprime un nuevo gráfico de líneas basado en los datos del rango de celdas "A1:A20" en la hoja de trabajo "Sheetl".
Con Charts.Add
ChartWizard source:=Worksheets ("sheet1").Range_
("a1:a20"), galería:=xlLine, title: = "Gráfico de líneas"
Impresión
Finalizar con
5) Usar funciones de hoja de cálculo de Excel
Se puede usar en declaraciones VB Utilizando la mayoría de las funciones de la hoja de cálculo de Excel, las funciones de la hoja de cálculo de Excel se pueden llamar a través del objeto WorksheetFunction. El siguiente procedimiento Sub utiliza la función Min de la hoja de cálculo para encontrar el valor mínimo de las celdas en el rango especificado y muestra el valor resultante a través de un cuadro de mensaje.
Sub UserFunction()
Atenuar myRange como rango
Establecer myRange=Hojas de trabajo ("Hoja1").Range("B2:F10")
answer=Application.WorksheetFunction.Min(myRange)
Respuesta de MsgBox
End Sub
Si se utiliza una función de hoja de cálculo que toma una referencia de rango como un parámetro, se debe especificar un objeto Range. Por ejemplo, puede utilizar la función Coincidir hoja de cálculo para buscar todas las celdas en el área A1:A10.
Sub FindFirst()
myVar=Application.WorksheetFunction.Match_
(9,orksheets(1).Range("A1:A10"),0 )
MsgBox myVar
End Sub
Para insertar una función de hoja de cálculo en una celda, especifique la función como la propiedad Fórmula correspondiente al valor del objeto Rango. En el siguiente ejemplo, la propiedad Fórmula del área A1:B3 en el libro actual Sheetl se designa como función de hoja de cálculo ALEATORIO (esta función genera dos números aleatorios).
Sub InsertFormula()
Hojas de trabajo ("Hoja1").Range("A1:B3").Formula="RAND()"
End Sub
Lo anterior presenta brevemente algunos objetos en el modelo de objetos de Excel y sus propiedades y métodos. Para obtener información más detallada, consulte la sección "Referencia de Microsoft Excel Visual Basic" en la Ayuda de Excel 2000. De hecho, aplicaciones como Word, PowerPoint, Access y Project de la familia Microsoft Office se pueden llamar en aplicaciones VB. Los principios y pasos son exactamente los mismos, excepto que sus modelos de objetos son diferentes.
4. Ejemplo:
Primero cree un formulario (FORM1), agregue un control DATOS y un botón al formulario, y haga referencia a Microsoft office/9.shtml' target=' _blank. ' gt; Biblioteca de tipos de Excel: seleccione la columna "Referencia" del menú "Proyecto"; seleccione Biblioteca de objetos de Microsoft Excel 9.0;
Agregue el evento LOAD de FORM:
Data1.DatabaseName = nombre de la base de datos
Data1.RecordSource = nombre de la tabla
Data1. Actualizar
Agregar el evento CLICK del botón
Dim Irow, Icol As Integer
Dim Irowcount, Icolcount As Integer
Dim Fieldlen ( ) "Valor de longitud del campo de almacenamiento
Atenuar xlApp como Excel.Aplicación
Atenuar xlBook como Excel.Workbook
Atenuar xlSheet como Excel.Hoja de trabajo
Establecer xlApp = CreateObject("Excel.Application")
Establecer xlBook = xlApp.Workbooks.Add
Establecer xlSheet = xlBook.Worksheets(1)
Con Data1.Recordset.MoveLast
Si .RecordCount lt; 1 Entonces
MsgBox ("¡Error sin registro!")
Salir de Sub
End If
Irowcount = .RecordCount "Número total de registros
Icolcount = .Fields.Count "Número total de campos
ReDim Fieldlen(Icolcount ).MoveFirst
Para Irow = 1 a Irowcount 1
Para Icol = 1 a Icolcount
Seleccione Case Irow
Caso 1 " en Excel Agregue un título a la primera fila de La longitud del campo del primer registro
Si IsNull(.Fields(Icol - 1)) = True Then
Fieldlen(Icol) = LenB(.Fields(Icol - 1). Nombre)
Else
Fieldlen(Icol) = LenB(.Fields(Icol - 1))
Fin Si
xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)
xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)
Caso más
Fieldlen1 = LenB(.Fields(Icol - 1))
If Fieldlen(Icol) lt Fieldlen1 Then
xlSheet.Columns; (Icol).ColumnWidt
h = Fieldlen1
Fieldlen(Icol) = Fieldlen1
Else
xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)
Finalizar si
xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)
Finalizar selección
Siguiente
Si Irow lt;gt; 1 Entonces
Si no es .EOF Entonces .MoveNext
Fin
Siguiente
Con xlSheet
.Range(.Cells(1, 1), .Cells(1, Icol - 1)).Font.Name = "Helvetica"
.Range(.Cells(1) , 1), .Cells(1, Icol - 1)).Font.Bold = True
.Range(.Cells(1, 1), .Cells(Irow, Icol - 1)).Borders .LineStyle = xlContinuo
Finalizar con
xlApp.Visible = Verdadero
xlBook.Save
Establecer xlApp = Nada
Termina con