Вы можете автоматизировать Excel, написать свою ценность на листе, а затем обновить рамку объекта.
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
Редактировать: Пример был основан на внешний файл рабочей книги, которая связана в качестве источника для кадра-объекта формы.
Чтобы связать таблицу, выберите «Создать из файла» радио-кнопки, установите флажок «Link» флажок, а также просматривать, чтобы выбрать книгу. Так я и делал это с Access 2007. Насколько я помню, это было похоже на Access 2003.
@ Hans .... каждый раз, когда я пытаюсь, я получаю ошибку времени выполнения, сообщающую мне, «не удалось найти. Проверьте написание имени файла и убедитесь ...» Но мои объекты в форме точно указаны в приведенном выше примере кода. Кажется, он останавливается всякий раз, когда он пытается открыть рамку excel, а затем ничего. Вам нужно щелкнуть обратно на вкладку vba, чтобы увидеть ошибку. спасибо hans – Justin
@Hans ... oooohh я вижу. Я даже не использовал предварительно сохраненный файл excel в форме. Я просто использовал функцию> INSERT> OBJECT> EXCEL SPREADSHEET, чтобы поместить таблицу в форму. Таким образом, вышеупомянутый метод означает использование независимого сохраненного файла excel, а затем, когда я хочу добавить его в форму, я должен ввести INSERT? CREATEFROMFILE> выберите его? – Justin
@Hans ... Я сохранил файл excel на своем рабочем столе, а затем ввел его в форму. Все равно получите ту же ошибку, но это потому, что strPath не получает ничего. Когда я нахожусь, он говорит, что strPath = "" – Justin