---Soumis par Graeme Wilson---
Email ou exporter un graphique Chart depuis Access.
Parfois, il est nécessaire d'envoyer par e-mail un Microsoft Graph 97 Chart depuis Access. Pour exporter ce graphique, utiliser la méthode Export de l'objet OleGraph object.
Pour exporter un graphique en tant qu'image JPG, vous pouvez utiliser le code qui suit:
'******** Code Start *********
Private Sub cmdExportGraph_Click()
'=============================================
' Purpose: Export Graph
' E-Mail: Graeme.Wilson@nationsbank.co.uk
' Programmer: Graeme Wilson
'=============================================
On Error GoTo cmdExportGraph_Click_Err
Dim strErrMsg As String 'For Error Handling
Dim oleGrf As Object
Dim strFileName As String
Dim strFilter As String
Dim lngFlags As Long
Set oleGrf = Me.OLEchart.Object
strFileName = ahtCommonFileOpenSave(Flags:=lngFlags, InitialDir:="C:\", _
Filter:="JPEG Files (*.jpg)", FilterIndex:=1, DefaultExt:="jpg", FileName:="MyGraph", _
DialogTitle:="Save the Graph", OpenFile:=False)
oleGrf.Export FileName:=strFileName
MsgBox vbCrLf & "The Chart " & strFileName & " has been exported", _
vbInformation + vbOKOnly, "Chart Exported :"
cmdExportGraph_Click_Exit:
Set oleGrf = Nothing
Exit Sub
cmdExportGraph_Click_Err:
Select Case Err
Case 1004 ' Export Cancelled
Resume cmdExportGraph_Click_Exit
Case Else
strErrMsg = strErrMsg & "Error #: " & Format$(Err.Number) & vbCrLf & vbCrLf
strErrMsg = strErrMsg & "Error Description: " & Err.Description & vbCrLf
MsgBox strErrMsg, vbInformation, "cmdExportGraph_Click"
Resume cmdExportGraph_Click_Exit
End Select
End Sub
'********* Code End ***********
To send the chart via email with Outlook as the email client, use this code.
'********* Code End ***********
Private Sub cmdEmailGraph_Click()
'=============================================
' Purpose: E-Mail Graph
' E-Mail: Graeme.Wilson@nationsbank.co.uk
' Programmer: Graeme Wilson
'=============================================
On Error GoTo cmdEmailGraph_Click_Err
Dim strErrMsg As String 'For Error Handling
Dim olApp As New Outlook.Application
Dim olNameSpace As Outlook.NameSpace
Dim olMail As Outlook.MailItem
Dim oleGrf As Object
Dim strFileName As String
Set olNameSpace = olApp.GetNamespace("MAPI")
Set olMail = olApp.CreateItem(olMailItem)
Set oleGrf = Me.OLEchart.Object
strFileName = "c:\temp\Graph.jpg"
oleGrf.Export FileName:=strFileName
With olMail
.To = "Graeme.Wilson@nationsbank.co.uk"
.Subject = "Graph Info " & Format(Now(), "dd mmm yyyy hh:mm")
.Attachments.Add strFileName
.ReadReceiptRequested = False
.Send
End With
Kill strFileName
MsgBox vbCrLf & "Chart has been E-Mailed", _
vbInformation + vbOKOnly, "Chart Exported :"
cmdEmailGraph_Click_Exit:
Set olApp = Nothing
Set olMail = Nothing
Set oleGrf = Nothing
Exit Sub
cmdEmailGraph_Click_Err:
Select Case Err
Case Else
strErrMsg = strErrMsg & "Error #: " & Format$(Err.Number) & vbCrLf & vbCrLf
strErrMsg = strErrMsg & "Error Description: " & Err.Description & vbCrLf
MsgBox strErrMsg, vbInformation, "cmdEmailGraph_Click"
Resume cmdEmailGraph_Click_Exit
End Select
End Sub
'************ Code End *************