Red de conocimiento informático - Material del sitio web - Reemplazar contenido de Word en PB

Reemplazar contenido de Word en PB

Este artículo presenta un método de uso de OLE en Power Builder (en adelante, PB) para transferir datos de la base de datos a un documento de Word. A través de este método, los usuarios pueden cambiar el contenido según sus necesidades y. Imprima los resultados en Word. Por ejemplo, al procesar las calificaciones de los estudiantes, si desea generar un documento de Word para el informe de calificaciones de cada estudiante, solo se cambiarán el nombre, el número de estudiante, el año y otros datos de diferentes estudiantes. no cambie Simplemente llame a los datos específicos de la base de datos de calificaciones del estudiante e insértelos o reemplácelos en El problema se puede resolver en la plantilla de Word que se ha creado

Una vez creado el documento de plantilla de Word

El documento de plantilla de Word se crea de acuerdo con los requisitos del usuario. Después de ingresar el contenido fijo, será necesario transformarlo. Ingrese el nombre del estudiante, el departamento del año del estudiante y la identificación del estudiante como la ubicación del contenido (como nombre, año, departamento, número de certificado, etc.). Nota: Intente usar inglés para representar estas variables para evitar sustituciones erróneas causadas por los mismos caracteres chinos.

No es necesario ingresar texto en la ubicación donde debe estar el contenido. Se puede cambiar dinámicamente insertando un marcador. Las operaciones específicas son las siguientes: Primero, seleccione Insertar * Marcador en Word. Aparecerá el cuadro de diálogo del marcador (como se muestra en la figura). cuadro de texto del marcador Haga clic en el botón Agregar para agregar un marcador en la posición actual del cursor. Supongamos que agregamos un marcador: nombre, año, departamento e identificación, que representan el nombre, el año del departamento y el número de certificado, respectivamente.

Método de implementación de 2 PB

Cree un nuevo control OLE en el formulario. Seleccione la opción de documento de Microsoft Word en la pestaña Crear nuevo de la ventana emergente de propiedades de inserción de objeto. Haga clic en el botón Aceptar. coloque el control apropiadamente en el formulario. La aplicación Microsoft Word aparecerá automáticamente en la ubicación del sistema PB. Nombra el control OLE_Word y crea un archivo abierto para reemplazar los datos y guardar los botones. Escribe el siguiente código. Abra la cadena de archivo docname llamado valor entero valor = getfileopenname (Seleccione el archivo docname llamado DOC Doc Files (* DOC) * DOC) if value = THEN // Guarde el archivo de plantilla como el archivo de operación real (se omite el procedimiento) si ole_Word está abierto (docname)= then ole_Word enable(inplace!) end if end if

La función GetFileOpenName se utiliza aquí para permitir al usuario seleccionar el archivo para la aplicación real. Nota: el archivo de plantilla debe guardarse como. el archivo de operación real y luego se abre Operar directamente el archivo de plantilla para abrir el archivo tiene un parámetro: inplace significa llamar a Word en la ventana interna del programa PB y proporcionar el menú de funciones de Word el otro parámetro está fuera del sitio significa iniciar Word; Aplicación fuera del programa PB y que proporciona todo el menú de funciones de Word. Documento de presentación simple como se muestra en la imagen

. Operación de inserción o reemplazo

( ) Método de reemplazo de datos

string ls_find_string ls_replace_string //Obtener la variable de asignación de datos ls_replace_string(

Procedimiento omitido) ls_find_string = Student_name ls_replace_string = Zhang ole_Word aplicación de objeto Selección buscar Ejecutar (ls_find_string false true false false false true true ls_replace_string) // El procedimiento para reemplazar el departamento de año_estudiante ID_de_estudiante es el mismo que para reemplazar el nombre_de_estudiante. Los resultados de la ejecución se muestran como se muestra. en la figura

( )Método de inserción de datos

Además de usar el método de búsqueda y reemplazo, también puede usar el método de marcador para lograr las operaciones anteriores cadena ls_name ls_year departamento ls_id/ /Obtener la variable de asignación de datos ls_name ls_year departamento ls_id en la base de datos (programa (omitido) SI existe la aplicación de objeto ole_Word Los marcadores ActiveDocument existen (nombre) ENTONCES la aplicación de objeto ole_Word elemento de marcadores de documento activo(nombre) seleccionar//Ubicar el nombre del marcador tipo de selección de aplicación de objeto ole_Word( ls_name)//Insertar valor para i = to //Eliminar caracteres ilegales aplicación de objeto ole_Word Tipo de selecciónBackspace() siguiente ELSE//Mensaje de error END IF //Localizar el ID del departamento del año del marcador. Tenga en cuenta lo mismo:

. Asegúrese de determinar si el marcador existe. Si el marcador no existe, realizar las operaciones anteriores provocará un error del sistema. Debido al problema del doble byte de caracteres chinos, cada vez que se inserta un carácter chino en PB, se generará un carácter ilegal más adelante. Es necesario juzgar la cantidad de caracteres chinos para determinar la cantidad de veces que se debe llamar a TypeBackspace (). El número de subbucles involucrados anteriormente es un ejemplo para ilustrar que en la programación real, se deben usar variables para reemplazar lo anterior. Cada método tiene sus propias ventajas y desventajas. El concepto de diseño del método de inserción de datos es simple y fácil de controlar. y es más conveniente, pero no es adecuado para insertar el mismo contenido en varios lugares y los caracteres ilegales generados deben eliminarse, mientras que el método de reemplazo solo llama a una función para buscar en todo el documento y reemplazar el mismo contenido sin generar caracteres ilegales; pero es posible reemplazar contenido que no debería reemplazarse, pero hay demasiados parámetros involucrados y es difícil de recordar

. Guardar

ole_Word save() ole_Word clear() lishixinzhi/Article/program/SQL/201311/16393