Automatización de Excel - Ejemplos útiles de automatización de Excel
El componente Office Viewer de Edraw proporciona una solución para que los desarrolladores alojen un programa de Excel en una ventana o página web. El componente proporciona los métodos Nuevo, Abrir, Guardar, Imprimir. También cubre algunas interfaces comúnmente usadas para la automatización de Excel. Más importante, el componente tiene la interfaz de envío de ActiveDocument lo que significa que los desarrolladores pueden hacer la Automatización de Excel con esta. Ahora el componente Office Viewer puede procesar integración fluida con Office 97, Office 2000, Office 2003, Office 2007 y Office 2010.
Figura 1: Automatización de Excel de la forma ventana
Métodos
boolean ExcelAddWorkSheet([in] long Index)
Agrega una nueva hoja de cálculo a un archivo de Excel abierto.
boolean ExcelDeleteWorkSheet([in] long Index)
Borra una nueva hoja de cálculo de un archivo de Excel abierto.
boolean ExcelActivateWorkSheet([in] long Index)
Activa una hoja de cálculo desde el índice.
long ExcelGetWorkSheetCount()
Regresa el recuento de las hojas de cálculo en un libro abierto.
boolean ExcelSetCellValue([in] long Column, [in] long Row, [in] BSTR Value)
Llena una celda en específico con un valor de cadena.
BSTR ExcelGetCellValue([in] long Column, [in] long Row)
Regresa los contenidos de una celda en específico.
boolean ExcelSetRowHeight([in] long Row, [in] double Height)
Establece la altura de celdas en específico.
boolean ExcelSetColumnWidth([in] long Column, [in] double Width)
Establece el ancho de columnas en específico.
boolean ExcelDeleteRow([in] long Row)
Borra una fila en específico.
boolean ExcelDeleteColumn([in] long Column)
Borra una columna en específico.
boolean ExcelInsertRow([in] long Row)
Inserta una nueva fila después de una en específico.
boolean ExcelInsertColumn([in] long Column)
Inserta una nueva columna después de una en específico.
boolean ExcelInsertPageBreakInRow([in] long Row)
Inserta un salto de página después de una fila en específico.
boolean ExcelInsertPageBreakInColumn([in] long Column)
Inserta un salto de página después de una columna en específico.
boolean ExcelCopyToClipboard()
Copia toda la hoja al portapapeles.
boolean ExcelPasteStringToWorksheet([in] BSTR bstText)
Inserta información a la hoja desde el portapapeles.
Evento
Los siguientes eventos de PowerPoint se han incluído desde el componente Office Viewer V7.x de Edraw.
[id(17), helpstring("Ocurre cuando la hoja se activa.")]
void SheetActivate();
[id(18), helpstring("Ocurre cuando la hoja se desactiva.")]
void SheetDeactivate();
[id(19), helpstring("Ocurre cuando la hoja calcula.")]
void SheetCalculate();
[id(20), helpstring("Ocurre cuando la hoja activa cambia.")]
void SheetChange();
[id(21), helpstring("Ocurre cuando una nueva hoja se crea.")]
void WorkbookNewSheet();
[id(1), helpstring("Ocurre cuando el componente está listo para abrir el documento.")]
void NotifyCtrlReady();
[id(2), helpstring("Ocurre cuando un nuevo documento se crea.")]
void NewDocument();
[id(3), helpstring("Ocurre antes de que un documento se abra o un nuevo documento se agregue.")]
void BeforeDocumentOpened();
[id(4), helpstring("Ocurre cuando un documento se abre o un nuevo documento se agrega.")]
void DocumentOpened();
[id(5), helpstring("Ocurre antes de que el documento se cierre.")]
void BeforeDocumentClosed();
[id(6), helpstring("Ocurre antes de que el documento se guarde.")]
void BeforeDocumentSaved();
[id(7), helpstring("Ocurre antes dar clic derecho en la ventana.")]
void WindowBeforeRightClick();
[id(8), helpstring("Ocurre antes de dar doble clic en la ventana.")]
void WindowBeforeDoubleClick();
[id(9), helpstring("Ocurre antes de que la selección se cambie.")]
void WindowSelectionChange();
[id(10), helpstring("Ocurre antes de que el documento se imprima.")]
void DocumentBeforePrint();
Automatización de Word con VBA y VBScript
Muchos desarrolladores se familiarizan con la automatización de Excel en VB, C#, VC o Delphi. Eso está muy bien. Te ayudará a comenzar rápidamente a escribir códigos usando las capacidades de automatización de palabras en el componente de office viewer.
Primero, puedes obtener el objeto de Documento o Aplicación haciendo el método de ActiveDocument.
IDispatch* ActiveDocument();
Vuelve a la interfaz de Automatización del objeto de documento.
El método te permite obtener una referencia de la interfaz IDispatch del objeto incrustado. Desde esta interfaz puedes automatizar el objeto para llevar a cabo tareas, editar partes del documento, o reunir información sobre qué usuario fue agregado o eliminado.
Por ejemplo, puedes crear una nueva hoja de cálculo después escribir las celdas:
<script language="javascript">
function VBAProgramming()
{
if(document.OA1.IsOpened)
{
var objExcel = document.OA1.GetApplication();
var worksheet = objExcel.ActiveSheet;
worksheet.cells(1,1).value ="100";
worksheet.cells(1,2).value ="101";
worksheet.cells(1,3).value ="102";
worksheet.cells(2,1).value ="103";
worksheet.cells(2,2).value ="104";
worksheet.cells(2,3).value ="105";
}
</script>
IDispatch* GetApplication();
Vuelve a la interfaz de Automatización de la aplicación.
Desactivar el modo de lectura de Adobe Reader mediante programación
Desactiva las teclas de acceso rápido de Guardar, Imprimir y Copiar
Desactivar la función de imprimir y guardar de Office para Word, Excel y PowerPoint