una son registro plantillas plantilla las gratis empresa ejemplos descargar datos cuáles cotizaciones clientes bases windows vba ms-access access-vba ms-access-2013

windows - son - Almacenamiento de plantillas de Excel en mi base de datos de Access



plantillas bases de datos access gratis (2)

Lo que quiero:

Estoy trabajando con una base de datos de MS Access para producir un informe para la Junta de Acreditación de la Universidad de Ingeniería Profesional de Ontario. Los PEO tienen sus plantillas en MS Excel y DEBO usar su formato exacto.

Quiero enviar los datos de Access DB a la hoja de Excel (bastante fácil), pero quiero copiar su formato cuando produzca un nuevo archivo. (NO quiero mantener un archivo de plantilla vacío y copiarlo cada vez).

Así que esencialmente estoy buscando de alguna manera almacenar la plantilla en el código. (¡Otras sugerencias son bienvenidas!)

Lo que he intentado:

Algunos de ustedes leerán esto y pensarán que soy un idiota. Pero lo que probé fue obtener los datos de excel en el portapapeles MS a través del código API y almacenar el DataObject como (esperaba) algún tipo de cadena.

Pero no pude preservar el formato o el sombreado de la plantilla original de MS Excel.

¿Alguna sugerencia?...


Lo que tendrá que hacer primero es exportar todos los datos a una nueva hoja de una plantilla vacía, luego vincular todos los datos al lugar correcto en la plantilla y luego eliminar la hoja con todos los datos, manteniendo los datos en el modelo.

Por lo que yo sé, no hay una forma más rápida de hacerlo, pero aquí hay un ejemplo: http://www.rogersaccesslibrary.com/forum/topic350.html

Será todo un trabajo, pero posible, si la plantilla está bien configurada.


Puede almacenar las plantillas de Excel dentro de la base de datos creando una tabla que incluya un campo Attachment

crear un registro y guardar la plantilla de Excel como un archivo adjunto a ese registro

y luego usar un código VBA como este para guardar una nueva copia del documento de Excel en el disco cada vez que lo necesite:

Option Compare Database Option Explicit Public Sub SaveReportTemplateToFile() Dim cdb As DAO.Database, rowRst As DAO.Recordset, attachRst As DAO.Recordset2, attachField As DAO.Field2 Set cdb = CurrentDb Set rowRst = cdb.OpenRecordset("SELECT TemplateFile FROM ReportTemplates WHERE ID=1") Set attachRst = rowRst.Fields("TemplateFile").Value Set attachField = attachRst.Fields("FileData") attachField.SaveToFile "C:/Users/Gord/Desktop/" & attachRst.Fields("FileName").Value Set attachField = Nothing attachRst.Close Set attachRst = Nothing rowRst.Close Set rowRst = Nothing Set cdb = Nothing End Sub