Red de conocimiento informático - Conocimiento informático - Cómo llamar a la palabra objeto

Cómo llamar a la palabra objeto

Primero, el programa Delphi inicia Word y llama al código VBA utilizando el método CreateOleObjects para iniciar Word. El proceso de implementación específico es el siguiente:

Primero, se utiliza GetActiveOleObject ('Word.application') para determinar si hay un programa de Word en la memoria actual. Si es así,

entonces conéctese directamente. Si no hay ningún programa de Word, utilice Crear objeto Ole ("Word. Aplicación") para iniciar Word.

En segundo lugar, el programa Delphi crea un nuevo documento de Word

Formato: documentos de Word. add(Plantilla, plantilla nueva, tipo de documento, visible)

Plantilla: el nombre de la plantilla utilizada,

NuevaPlantilla: el tipo del nuevo documento, donde True representa la plantilla y Falso representa el documento.

DocumentType: tipo de documento; por defecto es documento en blanco

Visible: ¿Está visible la ventana recuperada?

Ejemplo: doc_handle:= word_ole. .documents. add(template:= 'c:\temlate.dot', new template:= false);

En tercer lugar, el programa Delphi abre el manuscrito de Word

Formato: worddocuments.open(nombre de archivo, cuadro de diálogo de confirmación, solo lectura, documento de contraseña,

PasswordTemplate, Revent, WritePasswordDocument, WritePassWordTemplate,

Formato, codificación, visible)

Nombre de archivo: nombre del documento (incluida la ruta)

Confirmar conversiones: si se muestra el cuadro de diálogo de conversión de archivos

Solo lectura: si se abre el documento en modo de solo lectura

p>

AddToRecentFiles: ¿Desea agregar el archivo a la lista de archivos usados ​​recientemente en la parte inferior del menú de archivos?

PassWordDocument: la contraseña requerida para abrir este documento.

PasswordTemplate: la contraseña requerida para abrir esta plantilla p>

Restaurar: si el documento ya está disponible, ¿desea volver a abrirlo?

WritePasswordDocument: la contraseña requerida para guardar los cambios. el documento

WritePasswordTemplate: guarda la plantilla modificada.

Formato: el convertidor de archivos utilizado para abrir el documento.

Codificación: la página de códigos del documento.

Visible: La ventana en la que se abre el documento.

Por ejemplo:

Doc_Handle:=Word_Ole.

Documents.open(Nombre de archivo: =Doc_File, solo lectura: =False,

AddToRecentFiles: = False);

Cuarto, el programa Delphi guarda el documento de Word

Formato: worddocuments.saveas(nombre de archivo, formato de archivo, comentario de bloqueo, contraseña,

AddToRecentFiles, WritePassword, ReadOnlyRecommended,

EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData,

SaveAsAOCELetter)

Nombre de archivo: nombre del archivo. El valor predeterminado es la carpeta actual y el nombre del archivo.

FileFormat formato para guardar documentos.

LockCommentsSi es Verdadero, solo se permiten comentarios en este documento.

La contraseña al abrir el documento.

AddToRecentFiles Si es Verdadero, el documento se agregará a la lista de documentos usados ​​recientemente en el menú Archivo.

WritePassword guarda la contraseña necesaria para modificar el documento.

ReadOnlyRecommended Si es Verdadero, Word recomendará al usuario que solo lea cada vez que abra el documento.

Si es Verdadero, guarde el documento usando fuentes TrueType.

Si es Verdadero, sólo se guardarán las versiones de Windows de los gráficos importados desde otras plataformas del sistema (como Macintosh).

Si SaveFormsData es True, los datos ingresados ​​por el usuario en el formulario se guardarán como un registro de datos.

SaveAsAOCELetter Si el documento contiene archivos adjuntos, si el valor de la propiedad es True, el documento se guardará como papelería AOCEL (y el correo electrónico se guardará al mismo tiempo).

Por ejemplo:

Word_Ole. Documents.SaveAs(Nombre de archivo: =Doc_File, FileFormat=wdFormatDocument,

AddToRecentFiles = False

5. archivo del disco duro local El disco duro lee la base de datos.

Utilice campos binarios de imágenes para guardar en la base de datos y fluir usando flujos.

Crear secuencia de archivos:

Word_FileStream:=TFileStream. Create(Target_Name, fmOpenWrite o FM create);

Posición de Word_FileStream: = 0;

Campo de imagen guardado en la base de datos:

TBlobField(AdoQuery1.FieldByName( Column_Name) )). SaveToStream(Word_FileStream);

Leer archivos de la base de datos al disco duro local:

TBlobField(ADOQuery1.FieldByName(Column_Name)). loadfromStream(Word_FileStream);

Publicar secuencia de archivos:

Word_FileStream gratis;

Definición del verbo intransitivo mensaje global

Porque Word y Delphi Los programas son dos software y es problemático comunicarse entre sí, por lo que se utiliza el método de mensaje global.

Primero se deben registrar los mensajes globales y Windows devuelve el número de mensaje inactivo del sistema. Cuando se registra el mismo mensaje, el sistema Windows devuelve el mismo valor, lo que asegura la comunicación entre dos programas utilizando ese número de mensaje.

Cómo definir el mensaje:

szMessageString: pchar = 'XIDIAN_11_Stone';

FMyJoinMessage:= RegisterWindowMessage(szMessageString);

Cómo enviar información:

SendMessage (identificador inverso, mensaje, mensaje variable corto, mensaje variable largo)

El programa Delphi recibe mensajes.

Hay dos tipos de mensajes recibidos por Delphi, uno es para sobrecargar un mensaje específico y el otro es para sobrecargar la función WndProc, en la que se selecciona el mensaje correspondiente para su procesamiento.

El método uno sólo puede procesar un mensaje a la vez, mientras que el método dos puede procesar varios mensajes al mismo tiempo.

Para la Ley 2, la declaración es la siguiente:

Proceso WndProc(var mensaje: t Mensaje anulado

Cabe señalar que después de procesar su); propio mensaje Debe heredar la función WndProc(Mensaje); de lo contrario, el sistema fallará.

Ocho. Generación dinámica y evento de cambio del cuadro de diálogo combinado en Word

Cree un módulo de clase Combohander para definir eventos internamente.

public WithEvents ComboBoxEvent como Office. CommandBarComboBox

Define el módulo que genera eventos para el control combinado.

Atenuar ctlComboBoxHandler como un nuevo ComboBoxHandler

Generar cuadro de diálogo combinado

set Cbo _ elija doc = barras de comando ("menú agregado"). controles.add(tipo:=msocontrolcombobox, temporal:=verdadero).

Establezca el identificador del archivo para generar el evento Combo_Change.

Establezca ctlComboBoxHandler. ComboBoxEvent = Cbo_ChooseDoc

Después de generar el evento, puede escribir el código del evento seleccionando el evento Cambiar de ComboBoxEvent en el módulo de clase ComboHand.

sub ComboBoxEvent _ Change(ByVal Ctrl As Office. CommandBarComboBox)

9. Algunos eventos de Word

Los eventos de Word procesados ​​en el código VBA son: Document_Close.

Los eventos de la aplicación que deben procesarse son: DocumentBeforeClose, DocumentChange.

Document_Close: Evento genera un evento cuando se cierra el documento.

DocumentBeforeClose: antes de cerrar el documento, determine si el documento se guardó antes de Word, proporcione las indicaciones correspondientes y realice el procesamiento correspondiente.

DocumentChange: Cambio de documento, se genera un evento cuando el documento cambia del original modificado por uno mismo al original modificado por otros.

Se ocupa principalmente de configurar permisos de documentos, etc.