MS Access 2003 - Embedded hoja de cálculo de Excel en forma del acceso
-
23-09-2019 - |
Pregunta
Vamos a decir que tengo una hoja de cálculo de Excel incrustado en un formulario de Microsoft Access. Me llamo el marco de objeto
ExcelFrame
y añadir un cuadro de texto en la forma llamada
txtA1
y añadir un botón en la forma llamada
cmdInsert
quiero escribir "Hello World" en el cuadro de texto, haga clic en el botón y hacer que aparezca en la celda A1 de la hoja de cálculo. VBA lo puedo utilizar para lograr esto?
Gracias
Solución
Puede automatizar Excel, escriba su valor a la hoja de trabajo, a continuación, actualizar el marco de objeto.
Private Sub cmdInsert_Click()
Dim strPath As String
Dim oExcel As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = True
strPath = Me.ExcelFrame.SourceDoc
'Debug.Print strPath '
oExcel.Workbooks.Open strPath
Set oSheet = oExcel.ActiveSheet
'Debug.Print oSheet.Name '
oSheet.Range("A1").Value = Me.txtA1
oExcel.ActiveWorkbook.Save
oExcel.Quit
Set oSheet = Nothing
Set oExcel = Nothing
'acOLEUpdate action requires Enabled = True '
'and Locked = False '
Me.ExcelFrame.Enabled = True
Me.ExcelFrame.Locked = False
Me.ExcelFrame.Action = acOLEUpdate
Me.txtA1.SetFocus
Me.ExcelFrame.Enabled = False
Me.ExcelFrame.Locked = True
End Sub
Editar : El ejemplo se basa en un archivo de libro externo que es vinculado como la fuente para marco de objeto del formulario.
Para vincular una hoja de cálculo, seleccione la opción " Crear desde archivo" botón de radio, compruebe el " Enlace " casilla de verificación y de exploración para seleccionar el libro. Esa es la manera que lo hice con Access 2007. Por lo que recuerdo, fue similar con Access 2003.
Otros consejos
Nunca es demasiado tarde, ¿verdad?
disponer que ya se ha creado el objeto de Excel (como en OP):
Dim wb As Excel.Workbook, ws As Excel.Worksheet
Set wb = Me.ExcelFrame.Object
Set ws = wb.Worksheets(1)
ws.range("a1")= "Hello world"
Tenga en cuenta que este código requiere una referencia a MS Excel VBA.