El Visual Basic para los usos ( VBA ) es una puesta en práctica Visual Basic de de Microsoft, de un lenguaje de programación conducido acontecimiento y del entorno de desarrollo integrado asociado (IDE) que se incorpora a la mayoría de los usos de Microsoft Office . Encajando el VBA IDE en sus usos, los reveladores pueden construir soluciones de encargo usar el Microsoft Visual Basic . También fue incorporado a usos de la oficina hasta la versión 2004 para el mac del de Apple OS x, otros usos de Microsoft tales como Microsoft MapPoint y Microsoft Visio ; así como por lo menos parcialmente la ejecución en algunos otros usos tales como AutoCAD, WordPerfect y ArcGIS ESRI . Reemplaza y se amplía en las capacidades de los lenguajes de programación macros específico a la aplicación anterior tal como WordBasic de la palabra, y puede ser utilizado para controlar casi todos los aspectos del uso del anfitrión, incluyendo características de manipulación del interfaz utilizador, tales como menús y barras de herramientas, y trabajo con las formas del usuario o las cajas de diálogo de encargo. VBA se puede también utilizar para crear los filtros de la importación y de la exportación para los varios formatos de archivo, tales como ODF .

VBA sí mismo es una lengua interpretada . Como sugiere su nombre, VBA es estrechamente vinculado al Visual Basic, pero puede funcionar con normalmente solamente código dentro de un uso del anfitrión algo que como uso independiente . Puede, sin embargo, ser utilizado para controlar un uso de otro usar la automatización VIEJA . Por ejemplo, se utiliza para crear automáticamente un informe de la palabra de los datos de Excel, alternadamente recogidos automáticamente por Excel de los sensores votados de la observación.

VBA es funcionalmente ricos y extremadamente flexible pero tiene algunas limitaciones importantes, incluyendo la ayuda limitada para los indicadores de la función que se utilizan como funciones del servicio repetido en el Windows API . Tiene la capacidad de utilizar (pero no crear) (el ActiveX/COM ) DLLs y versiones posteriores agregan la ayuda para los módulos de la clase.

Lengua

Cifrar escrito en VBA es compilado a una lengua intermedia propietario llamada el P-Código (código lleno) del, que son almacenados por los usos de envase (acceso, Excel, palabra ) como una corriente separada en estructuró a independiente de los archivos del almacenaje (e.xls) de las corrientes del documento. El código intermedio entonces se interpreta esta porción de VBA se llama el modelo de objeto del para el uso. Un mapa del modelo de objeto está en la línea para Excel y para la palabra. Mucha de la dificultad al usar VBA se relaciona con el aprendizaje del modelo de objeto, que utiliza los nombres inventados por los autores del modelo que puede ser menos que transparente a un nuevo usuario. Una forma para aprender los términos y el sintaxis del modelo de objeto es utilizar el registrador macro del para registrar los pasos tomados para alcanzar un resultado deseado usar el ratón y los menús del uso. Una vez que se hace esto, el código de VBA construido por el registrador se puede ver en el redactor de VBA, y aerodinamizar a menudo grandemente o generalizar con solamente una pizca de la comprensión de VBA sí mismo. Desafortunadamente, el registrador macro no registra siempre todo (particularmente para los gráficos). El uso de las herramientas de puesta a punto de descubrir las construcciones de VBA para algunos casos donde el registrador macro no funciona es descrito por Jelen y Syrstad, pero algunos pasos puede seguir siendo obscuro.

Automatización

La interacción con el uso del anfitrión utiliza la automatización VIEJA . Típicamente, el uso del anfitrión proporciona un tipo biblioteca del y documentación del API que documenten cómo los programas de VBA pueden obrar recíprocamente con el uso. Esta documentación se puede examinar por dentro del entorno de desarrollo de VBA usar su hojeador del objeto del .

Los programas de VBA que se escriben para utilizar el interfaz VIEJO de la automatización de un uso no se pueden utilizar para automatizar un diverso uso, incluso si ese uso recibe el tiempo de pasada de Visual Basic, porque los interfaces VIEJOS de la automatización serán diferentes. Por ejemplo, un programa de VBA escrito para automatizar Microsoft Word no se puede utilizar con un diverso procesador de textos, incluso si ese procesador de textos recibe VBA.

Inversamente, los usos múltiples se pueden automatizar del un anfitrión creando objetos del uso dentro del código de VBA. Las referencias a las diversas bibliotecas se deben crear dentro del cliente de VBA antes de métodos, de objetos, del etc. uces de los están disponibles para utilizar en el uso. Estos objetos del uso establecen las relaciones VIEJAS al uso cuando primero se crean. Los comandos a los diversos usos se deben hacer explícitamente a través de estos objetos del uso para trabajar correctamente.

Por ejemplo: En Microsoft Access, los usuarios tienen automáticamente acceso a la biblioteca del acceso. Las referencias al Excel, a la palabra, y a las bibliotecas de Microsoft Outlook pueden también ser creadas. Esto permitirá el crear de un uso que funcione con una pregunta en el acceso, exporte los resultados a Excel, dé formato al texto, después lo escriba a documento de la fusión de correo en la palabra esa automáticamente los email a cada miembro de la pregunta original con perspectiva. (En este ejemplo, es importante para la nota que Microsoft Outlook contiene un rasgo de seguridad que fuerce a usuario a permitir, a rechazar, o a cancelar un email que es enviado con un proceso automatizado con una segundo espera 5 forzados. La información sobre esto se puede encontrar en el Web site de Microsoft.)

Los programas de VBA, se pueden atar a un botón del menú, una macro, un atajo de teclado, o un acontecimiento de OLE/COM, tal como la abertura de un documento en el uso. La lengua también proporciona un interfaz utilizador bajo la forma de UserForms, que puede recibir los controles de ActiveX para la funcionalidad agregada.

Problemas de seguridad

Como cualquier lenguaje de programación común, las macros de VBA se pueden crear con un intento malévolo. Usar VBA, la mayor parte de las características de la seguridad mienten en las manos del usuario, no el autor. Las opciones del “anfitrión-uso” de VBA son accesibles al usuario. El usuario que funciona con cualquier documento que contiene macros de VBA puede preestablecer el software con preferencias de usuario, como ésos para los usuarios finales de los hojeadores de Internet que puede protegerse contra ataque por macros de incapacidad del funcionamiento en un uso si no se preponen utilizar los documentos que los contienen, o concede solamente el permiso para que un documento funcione con código de VBA si están seguros que la fuente del documento puede ser confiada en.

Ejemplos

Un de uso común de VBA es agregar la funcionalidad que puede faltar del interfaz utilizador estándar . Esta macro proporciona un atajo para incorporar la fecha actual en la palabra : lang=" del EnterCurrentDate secundario () 'Macro de EnterCurrentDate La 'macro registró 15/03/2005 por el username ' Selection.InsertDateTime DateTimeFormat: =" DD-MILÍMETRO-yy", InsertAsField: =False, _ DateLanguage: =wdEnglishAUS, CalendarType: =wdCalendarWestern, _ InsertAsFullWidth: =False Submarino del extremo

VBA es útil para automatizar tareas de la base de datos tales como atravesar una tabla: lang=" del LoopTableExample secundario

DB dévil como DAO.Database Rs déviles como DAO.Recordset

Fijar DB = CurrentDb Fijar los rs = db.OpenRecordset (" SELECCIONAR * de tblMain")

Hacer hasta rs.EOF ¡Rs de MsgBox! FieldName rs.MoveNext Lazo

rs. Cierre Fijar DB = nada Terminar el submarino

VBA es útil para automatizar acciones repetidas en filas de una hoja de balance. Por ejemplo, usar el ejemplo siguiente del código, la búsqueda iterativa incorporada de la meta del del disolvente se aplica automáticamente a cada fila en un arsenal de la columna, evitando uso repetido de la entrada manual del menú. Debajo de un " de la variable de la columna; C_M" determina los valores de otro " de la variable de la columna; Target" en una cierta manera no linear. La búsqueda no linear incorporada de la meta del del disolvente se llama para encontrar el valor del " C_M" eso trae el " Target" para valorar uno. La subrutina se inserta en el libro de trabajo usar el módulo del redactor de VBA y del parte movible del del comando. Es llamada directo del redactor de VBA, o usando un " key" caliente; o atajo de teclado. Los valores en la hoja de balance se ponen al día automáticamente mientras que se exploran las filas.

Es útil observar que las subrutinas del tienen la energía de poner al día variables en la hoja de balance; las funciones del no hacen - divulgan simplemente su evaluación.

La línea opción explícito del no es parte de la subrutina: fija una opción del recopilador que fuerce la identificación de todas las variables que no se han especificado en declaraciones déviles del, que evita los problemas nudosos posibles del depuración que pueden presentarse debido a los errores tipográficos. La notación (') en el código siguiente denota un comentario, y la línea continuación (del _). El código utiliza variables NOMBRADAS de : una forma de referencia de la célula en la cual se asignan las células nombra de la opción del usuario, algo que la designación de la célula estándar que refiere a números específicos de la fila y de columna. El nombramiento es realizado en la hoja de trabajo usar el " de Excel; Nombrar Manager", o nombre del parte movible del del menú: Crear . lang=" del Opción explícita

SetTarget secundario () ' 'Macro de SetTarget ' J dévil como número entero Tamaño dévil como número entero ' 'En la hoja de balance, " del arsenal; C_M" es una variable NOMBRADA de la columna La 'CUENTA de la función incorporada determina el tamaño del " del arsenal; C_M" ' Tamaño = gama (" C_M").Count ' 'Fijar el valor inicial de todos los miembros del arsenal C_M a 1E-06; Índice de J = de la fila Para J = 1 al tamaño Gama (" C_M").000001 J siguiente ' '" Target" es otro arsenal NOMBRADO en la hoja de balance del " de la dimensión; Size" ; 'los mismos tamaños como " del arsenal; C_M" La 'BÚSQUEDA de la META es disolvente iterativo incorporado en Excel ' 'BÚSQUEDA de la META de la llamada para fijar cada " Target" miembro a la unidad cambiando la célula 'en su fila nombrada " C_M" ; Índice de J = de la fila El 'sintaxis encontró con el registrador macro; 'Por supuesto, el " Target" la entrada en cada fila depende de una manera especificada sobre 'el valor del " C_M" en esa fila, por ejemplo, blanco = C_M*C_M ' Para J = 1 al tamaño Gama (" Target"). Células (meta de J).GoalSeek: =1, _ ChangingCell: =Range (" C_M"). Células (J) J siguiente Submarino del extremo

VBA se puede utilizar para crear una función definida por el usario (UDF) para el uso en un libro de trabajo de Microsoft Excel : lang=" del Función pública BusinessDayPrior (despegue como fecha) como fecha

Seleccionar el día laborable del caso (despegue, vbMonday) Caso 1 BusinessDayPrior = despegue - 3 'lunes se convierte en viernes Caso 7 BusinessDayPrior = despegue - 2 'domingo se convierte en viernes Caso BusinessDayPrior = despegue - 1 'el resto de los días se convierte en día anterior Extremo selecto Función del final

Ejemplo de cómo agregar un objeto externo del uso (el usuario debe tener la biblioteca del uso referida al uso antes de esto): lang=" del Ejemplo secundario público () XLApp dévil como Excel.Application WDApp dévil como Word.Application

Fijar XLApp = CreateObject (" Excel.Application") fijar WDApp = el createObject (" Word.Application")

'… su código aquí…

XLApp.Quit

Fijar XLApp = nada Fijar WDApp = nada Terminar el submarino

¡Futuro

El 1 de julio de 2007, Microsoft ofrece no más licencias de la distribución de VBA a los nuevos clientes. Después de que el lanzamiento del marco, Microsoft .NET se prepusiera substituir VBA por idiomas de .NET incluyeron una tecnología runtime scripting conocida como escritura del para el marco de . También, el estudio visual SDK de .NET 2002 y 2003 contuvo un estudio visual llamado IDE scripting separado del para los usos que (VSA) que apoyó VB.NET, una de sus características significativas era que los interfaces a la tecnología estaban también disponibles vía el Scripting activo ( VBScript y JScript ), permitiendo que incluso los usos de .NET-unaware sean con guión usar idiomas de . Sin embargo, el VSA fue desaprobado en la versión 2.NET, no dejando ninguna trayectoria clara de la mejora para los usos que deseaban la ayuda Scripting activa (aunque " scripts" puede ser creado en el C#, el VBScript, y otras idiomas de .NET, que pueden ser compilados y ejecutado en run-time vía las bibliotecas instaladas como parte del tiempo de pasada estándar de .

Herramientas visuales del estudio para los usos (VSTA)

Con el lanzamiento de visual un juego de herramientas del arreglo para requisitos particulares del uso del estudio 2005, Microsoft anunció herramientas visuales del estudio para los usos (VSTA), basado en el marco 2.NET y empleado la misma arquitectura que las herramientas visuales del estudio para la oficina (VSTO). Algo de la tecnología se convirtió para el VSA fue incorporada dentro de VSTA. VSTA consiste en un SDK y un revelador modificado para requisitos particulares IDE y, basado en el estudio visual IDE 2005, y un tiempo de pasada que se pueda encajar en usos para exponer sus características vía el modelo de objeto de . También incluye a usuario final IDE que incorpora Visual Basic . VSTA también ofrece la ayuda 64-bit, la recodificación de la macro y otras características visuales generalmente 2005 del IDE del estudio, pero no incorpora la ayuda Scripting activa .

El primer CTP fue lanzado en abril de 2006 y la versión 1.0 fue lanzada a la fabricación junto con la oficina 2007 . Se incluye con la oficina 2007, y el SDK está disponible por separado. VSTA se autoriza de Microsoft dependiendo de los panoramas del uso para la redistribución con usos. Los usos de la oficina 2007 continúan a integrado con VBA, a excepción InfoPath 2007 que integra con VSTA.

La ayuda para VBA en el mac OS x versión de de Microsoft Office fue caída con el lanzamiento Microsoft Office 2008 para el mac, a favor AppleScript .

La versión siguiente de VSTA, basada en el estudio visual 2008 será lanzada a principios de 2008. La segunda versión de VSTA será perceptiblemente diferente que la primera versión, incluyendo características tales como programación y ayuda dinámicas para el WPF, el WCF, el WF, el LINQ, y el .

Ver también

Microsoft Visual Basic
Herramientas visuales del estudio para la oficina
Estudio visual de Microsoft
Microsoft Visual Basic .
  • Zenithic
  • Abraham Olano
    Random links:Dragan Marušič | La lista de palabras derivó de toponyms | Marquette (ciudad), Wisconsin | Aire fresco (línea aérea) | Hospitalidad de Toonzone

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">