Groupwise aansturen via VBA

Status
Niet open voor verdere reacties.

JeroenMioch

Gebruiker
Lid geworden
1 dec 2007
Berichten
215
Hallo beste mensen,

Het bedrijf waar ik voor werk gaat over een tijdje over van Groupwise naar Outlook.
Nou is dit nog niet gebeurd maar volgens mij zitten overijverige ICT-ers hier alvast alle instellingen van Browsers etc in te stellen op Outlook...
Van tijd tot tijd stond de default email client van Internet explorer op Outlook, deze zette ik dan terug (Extra >> Internet Opties >> Programma's) en het probleem was opgelost.
Nu echter kan ik Groupwise wel selecteren maar Internet explorer zet het doodleuk weer direct terug naar Outlook. Ik heb uiteraard aan onze ICT gevraagd dit probleem op te lossen, maar dat kan nog wel even duren.

Dus wil ik software matig mijn programma duidelijk maken dat ik vanuit access wil mailen met Groupwise en niet via Outlook.

Nou heb ik me al suf gegoogled en zie her en der wel codes staan, maar het is met niet duidelijk welke regel(s) in de code access duidelijk maakt dat ie Groupwise moet gebruiken.

Zoiets als Dim objGroupWise As Application of iets dergelijks ?

Iemand ?
 
Zoiets?

Code:
Function Groupwise_Mail(ByRef myRecipients() As String, ByRef myAttachments() As String, ByVal mySubject As String, ByVal myBodytext As String)
    ' Declare the objects
Dim objGroupWise As Object
Dim objAccount As Object
Dim objMessages As Object
Dim objMessage As Object
Dim objMailBox As Object
Dim objRecipients As Object
Dim objRecipient As Object
Dim Recipient As Variant
Dim objAttachment As Object
Dim objAttachments As Object
Dim Attachment As Variant
Dim objMessageSent As Variant
    On Error GoTo Errorhandling
    ' Now build the GroupWise message object
    Set objGroupWise = CreateObject("NovellGroupWareSession")
    Set objAccount = objGroupWise.Login
    Set objMailBox = objAccount.MailBox
    Set objMessages = objMailBox.Messages
    Set objMessage = objMessages.Add("GW.MESSAGE.MAIL", "Draft")
    ' Add each of the Recipients
    Set objRecipients = objMessage.Recipients
    For Each Recipient In myRecipients
        Set objRecipient = objRecipients.Add(Recipient)
    Next Recipient
    ' Add each of the attachments
    Set objAttachments = objMessage.Attachments
    For Each Attachment In myAttachments
        Set objAttachment = objAttachments.Add(Attachment)
    Next Attachment
    ' Add the Subject/Body Text
    With objMessage
        .Subject = mySubject
        .Bodytext = myBodytext
    End With
    ' Send it
    Set objMessageSent = objMessage.Send
ExitHere:
    Set objGroupWise = Nothing
    Set objAccount = Nothing
    Set objMailBox = Nothing
    Set objMessages = Nothing
    Set objMessage = Nothing
    Set objRecipients = Nothing
    Set objAttachments = Nothing
    Set objRecipient = Nothing
    Set objAttachment = Nothing
    Exit Function
Errorhandling:
    MsgBox Err.Description & " " & Err.Number
    Resume ExitHere
End Function
 
Goeie vraag ;)
Ik heb de code ook maar van het internet geplukt. Gezien het feit dat het hier een Functie betreft, zou ik 'm in een aparte module plaatsen. Maakt niet uit hoe die heet verder. Vervolgens kun je 'm aanroepen met een knop, of automatisch bij het openen van een formulier of rapport. De aanroep is dan iets als:
Code:
Private Sub Knop7_Click()
    Groupwise_Mail "[EMAIL="pipo@koeien.nl"]pipo@koeien.nl[/EMAIL]", "rptMeldingen", "Dit is het onderwerp", "Dit is de tekst"
End Sub
 
Hahaha, dacht ik al.

Ik had deze code al een aantal keer voorbij zien komen op Google. Maar ik heb dan altijd zoiets van huiverigheid om hem erin te zetten als ik niet zeker weet wat het doet.

Ik heb geen ervaring met modules trouwens
Enfin ik heb een module gemaakt genaamd MODgroupwise en de code erin geplaatst.
Het maken van het mailtje heb ik onder een knop van een form zitten, een beetje zoals het voorbeeld wat je hierboven gaf :

Code:
Private Sub Knop183_Click()
On Error GoTo Err_Knop183_Click
Dim stDocName As String
    Dim strMessage As String
    
    strMessage = "Geachte medewerker, bla bla bla"
stDocName = "bla bla bla"
    DoCmd.SendObject acReport, stDocName, acFormatSNP, "", , , _
        "bla bla bla bla", strMessage, True

Maar de module zorgd er dus voor dat Groupwise automatisch word gebruikt ? Ik heb nergens een koppeling van mijn knop naar de module.

Kan het ook niet testen, zit niet achter het werkstation waar we het gebruiken. :(
 
Laatst bewerkt door een moderator:
Ok zonder verwijzing lukt het dus niet, hoe maak ik een knop of formulier duidelijk dat er een module aangeroepen moet worden Michel ?
 
Eigenlijk toch zoals je zelf al min of meer bent begonnen....

Code:
Private Sub Knop183_Click()
On Error GoTo Err_Knop183_Click
Dim stDocName As String
Dim strMessage As String
etc.
En i.p.v. Docmd.SendObject (want dat gaat uiteraard niet werken) gebruik je:

Code:
    Call Groupwise_Mail " [EMAIL="pipo@koeien.nl"]pipo@koeien.nl[/EMAIL]", stDocName , stSubject, strMessage
End Sub
In de code zit verder niks geks; hij maakt een connectie met Groupwise, want dat moet in ieder geval gebeuren, als je niet met Outlook (express) wilt versturen, en gebruikt de parameters die je met de Call meegeeft om alles naar Groupwise te sturen.

Ik zou zeggen: probeer 'm een keer uit! Als je de Call Groupwise regel met <F9> in de stapmodus zet, kun je bij het uitvoeren alle regels die worden uitgevoerd controleren.
 
Nou ik heb het even geprobeerd maar ik krijg het maar niet aan de praat, Is het misschien mogelijk dat je een voorbeeld van de sub (click) maakt Michel ?
De Module heb ik MODgroupwise genoemd.

Oh en ik had nog een vraagje, Ik wil op mijn formulier graag een teller maken van hoeveel vergunningen en hoeveel waarschuwingen we hebben uitgedeelt. Omdat beide gegevens uit een andere tabel kwamen en met verschillende querys werden opgezocht heb ik dit met een samenvoegquery gemaakt en op een rapport gezet, werkt perfect. Alleen heb ik de teller liever op mn formulier. Is er een manier om de uitkomst van de samenvoegquery of de gegevens van het rapport op het formulier te zetten ?
Zou niet moeilijk moeten zijn, ehhh behalve voor mij dan hahaha.

Alvast dank !
 
Het heeft niet zoveel zin om mij een stukkie code te laten maken, want ik gebruik geen Groupwise. Ik kan dus niet testen of de code werkt. Misschien als je kunt aangeven waar hij spaak loopt, dat we wat meer zinnigs kunnen zeggen over de oorzaak/oplossing. Probeer bijvoorbeeld eens met de Stap modus (eerste coderegel met <F9> markeren, en code laten uitvoeren) de routine te starten, en controleer in de functie of alle variabelen worden meegenomen, soms zit daar een probleem. Of kan er geen Groupwise sessie worden gemaakt.
Wat betreft de teller: als die is gebaseerd op een samenvoegquery, kun je die toch gewoon als bron voor je tekstvak gebruiken? Je kunt hem bijvoorbeeld in een recordset laten openen bij het openen (of bladeren) van een formulier. Ik weet niet of er één record in de query zit of meer, en wat er in het laatste geval dan moet worden opgehaald.
 
Ok ik heb een module gemaakt genaamd MODgroupwise en de door jou gegeven code er in gezet.

Dit is mijn sub die het maken van de mail met de gevens nodig mogelijk maakt :

Code:
Private Sub Knop183_Click()
On Error GoTo Err_Knop183_Click
 With CurrentDb.OpenRecordset("SELECT * FROM TBLwaarschuwingen")
        .AddNew
        ![Datum2] = Date
        !Kenteken2 = Me.FilterKenteken
        !reden = Me.[keuzelijst met invoervak10]
        !PNummer = Me.PNummer
        .Update
        .Close
    End With

    Dim stDocName As String
    Dim strMessage As String
    strMessage = "Geachte medewerker bla bla bla bla"
    
    stDocName = "Waarschuwing"
    DoCmd.SendObject acReport, stDocName, acFormatSNP, "", , , _
        "parkeer waarschuwing", strMessage, True
  
    FilterKenteken = ""
    [keuzelijst met invoervak10] = ""
 
Exit_Knop183_Click:
    Exit Sub
 
Err_Knop183_Click:
    MsgBox Err.Description
    Resume Exit_Knop183_Click
    DoCmd.GoToRecord , , acSave
    DoCmd.GoToRecord , , acLast
    
    
    End Sub

Ik had de doCMD sendobject vervangen door jou Call Groupwise regel maar die regel word gelijk met rood aangegeven ten teken dat ie niet klopt.
 
Laatst bewerkt door een moderator:
Ik neem aan dat je het hebt over de code op een juiste manier weergeven ? noted..
 
Onder andere
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan