Dag Access-vba liefhebbers,
In een aantal oude access-databases kom ik veel 'Unbound Object Frame Control's tegen waarin een Word-document is geplaatst. Ik wil deze niet handmatig openen en vervolgens als een 'gewoon'-Worddocument opslaan, maar dit met een vba-routine doen.
Inmiddels heb ik de volgende code al geschreven, maar de stap om het Ole-object in Word te openen lukt me nog niet.
Ik had de ijdele hoop dat acOLEactivate het zou doen, maar helaas. Kan iemand mij verder helpen?
In een aantal oude access-databases kom ik veel 'Unbound Object Frame Control's tegen waarin een Word-document is geplaatst. Ik wil deze niet handmatig openen en vervolgens als een 'gewoon'-Worddocument opslaan, maar dit met een vba-routine doen.
Inmiddels heb ik de volgende code al geschreven, maar de stap om het Ole-object in Word te openen lukt me nog niet.
Code:
Sub prcRapportOLE()
Dim objProject As Object
Dim objObject As AccessObject
Dim rpt As Report
Dim strRpt As String
Dim ctl As control
On Error GoTo prc_err
autoexec
Set objProject = Application.CurrentProject()
For Each objObject In objProject.AllReports
i = i + 1
' MsgBox objObject.Name
strRpt = objObject.Name
DoCmd.OpenReport (strRpt), acViewDesign
Debug.Print strRpt
Set rpt = Reports([strRpt])
For Each ctl In rpt.Controls
MsgBox ctl.ControlType & ": " & ctl.Name
If ctl.ControlType = 103 Then GoTo volgende1
If InStr(1, ctl.Name, "OLE") Then
If ctl.Class = "Word.Document.8" Then
Debug.Print ctl.Name
ctl.Action = acOLEActivate
End If
End If
volgende1:
Next
DoCmd.Close acReport, strRpt
volgende:
Next objObject
Set objProject = Nothing
prc_exit:
Exit Sub
prc_err:
If Err.Number = 438 Then
Debug.Print ctl.ControlType
GoTo volgende
ElseIf Err.Number = 7784 Then
GoTo volgende
Else
msgFout
Resume prc_exit
Resume
End If
End Sub
Ik had de ijdele hoop dat acOLEactivate het zou doen, maar helaas. Kan iemand mij verder helpen?