• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Excel werkblad mailen met Lotus Notes

  • Onderwerp starter Onderwerp starter koosl
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

koosl

Gebruiker
Lid geworden
7 jan 2006
Berichten
319
Ik gebruik een Excel bestand (plannings overzicht) met verschillende werkbladen erin, waarvan regelmatig een werkblad naar een toeleverancier gemaild moet worden.
Nu gebeurt het zo...
Eerst het werkblad van de desbetreffende toeleverancier saven. Dan een mailtje maken en er het zojuist "gesavede" werkblad aanhangen. Dan het mailtje zenden. Dan het gemailde werkblad weer verwijderen. (Dit wordt toch niet meer gebruikt, het origineel zit nog als werkblad in het planningsbestand.)

Ik heb dit al geprobeerd met een macro, alleen alles wordt dan afgewerkt totdat Lotus Notes wordt aangeroepen.
Volgens mij komt dit doordat Lotus Notes geen OLE ondersteund. Met Outlook zou het waarschijnlijk wel lukken, maar ja daar werken we niet mee.

Weet iemand hier een oplossing voor? (Het schijnt op een of andere manier toch mogelijk te zijn, alleen hoe?)

Ik ben benieuwd.
 
Even kijken of ik er morgen tijd voor heb
maar je kunt natuurlijk vanuit de macro een nieuw excel bestand aanmaken, daarin het gewenste werkblad kopieren en dat bestand dan als attachemant aan een nieuw te maken mailtje hangen

misschien is dit alvast een douw in de goede richting (heb hem niet kunnen testen aangezien ik hier geen notes omgeving heb maar dit is een bewerking van een script wat ik zelf gebruik.
Hij maakt gebruik van de Lotus Notes 6.5.1 controls

Code:
Private Sub Sendmail()

Dim nSession As Object
Dim nDB As Object
Dim nDoc As Object

Dim nStyle As Object
Dim nItem As Object

Dim nAttachment As Object

Set nSession = CreateObject("Notes.NotesSession")
Set nDB = nSession.GETDATABASE("CN=xxx/OU=xxxx/O=xxxx", "xxxx\xxxx.nsf")
Set nDoc = nDB.CREATEDOCUMENT()
Set nItem = nDoc.CREATERICHTEXTITEM("Body")
Set nStyle = nSession.CREATERICHTEXTSTYLE

nStyle.FontSize = "10"
nStyle.NOTESCOLOR = 10
nStyle.NOTESFONT = 2
Call nItem.APPENDSTYLE(nStyle)
nItem.APPENDTEXT ("Beste,")
nItem.ADDNEWLINE (2)
nItem.APPENDTEXT ("zin 1")
nItem.APPENDTEXT ("zin 2")
nItem.APPENDTEXT ("zin 3")
nItem.APPENDTEXT ("zin 4")

Set nAttachment = nItem.EMBEDOBJECT(1454, "", "c:\excel.xls", "Sample")

With nDoc
    .REPLACEITEMVALUE "SendTo", "aan adres"
    .REPLACEITEMVALUE "Subject", "onderwerp"
    .REPLACEITEMVALUE "CopyTo", ""
    .REPLACEITEMVALUE "ReplyTo", "Geephile@Gmail.com"
    .REPLACEITEMVALUE "Principal", "Ellasar"
    .REPLACEITEMVALUE "SaveMessageOnSend", True
    .REPLACEITEMVALUE "Encrypt", "1"
    .Save True, True
    '.SEND (False)
End With

Set nSession = Nothing
Set nDB = Nothing
Set nDoc = Nothing

End Sub
 
Laatst bewerkt:
Ellassar, bedankt voor je snelle reactie.

Ik heb nog wel enkele vragen over je script. Ik kan wel een macro opnemen maar van VBA
heb ik (nog) geen kaas gegeten.
Het is me nog niet duidelijk hoe ik dit moet gaan gebruiken.
Kan ik dit zo in een leeg VBA blad plakken?
Of kan ik het als ik de macro die ik eerst had weer erin zet en dan deze ergens ertussen plakken?
Set nDB = nSession.GETDATABASE("CN=xxx/OU=xxxx/O=xxxx", "xxxx\xxxx.nsf") Moet ik bij deze kruisjes iets anders neerzetten?
nItem.APPENDTEXT ("zin 1") Kan ik bij "zin 1" vanalles en nog wat neerzetten?
REPLACEITEMVALUE "SendTo", "aan adres"
.REPLACEITEMVALUE "Subject", "onderwerp"
.REPLACEITEMVALUE "CopyTo", ""

Is het de bedoeling dat ik in VBA dus bij "äan adres", bij "onderwerp" en tussen "" bij CopyTo de juiste gegevens invul?


alvast bedankt.
 
Als je een macro opneemt komt die ook onder de modules in de Visual Basic omgeving te staan.
daar kun je de code inzetten

die xxx moet je aanpassen aan je notes omgeving (welke mailbus je gebruikt en op welke server die staat de gegevens daarvoor kun je uit het ANNT(names.nsf) van een server op je werk ophalen)
Set nDB = nSession.GETDATABASE("servernaam", "postbestandsnaam")

Op jou overige vragen kan ik alleen maar bevestigend antwoorden
 
Laatst bewerkt:
Ik ben reuze benieuwd of ik het voor elkaar krijg.
Waarschijnlijk kan ik dit pas zaterdag gaan uitproberen. Het zou een
heel gemak zijn als het zou werken.

Ellasar, alvast bedankt.
 
Ellassar,

Ik heb (vlug) een macro gemaakt om te proberen of ik je script werkend kreeg.
Ik heb eerst names.nsf opgezocht, en daarna je script onder de macro geplakt.
Als ik deze run krijg ik geen foutmelding, maar volgens mij doet hij nu nog niets.

Kun je naar mijn bijgevoegd bestand kijken of je iets kan vinden wat ik niet goed heb gedaan?
 

Bijlagen

De mailbus waarvandaan hij verzonden word is niet goed ingevuld

Open de mailbus waaruit hij verzonden moet worden (ga in de inbak/inbox)
ga dan naar "Bestand - database - eigenschappen"
dan krijg je het volgende schermpje(in dit geval engels maar het kan ook nederlands dan staat er ipv filename: Bestandsnaam ):

attachment.php


dit is het schermpje van mijn thuissituatie. Server is Local dus ik hoef geen servergegevens in de "nSession.GETDATABASE" te geven,
de database staat bij server "local" in je "data" directory en die word bij mij dus : "g:\lotus\notes\data\" + de filename: "mail\hvulpen.nsf".
(bij jou is je data directory: D:\Lotus\Notes\Data\ volgens jou voorbeeld))

Bij mij thuis geld daarom de volgende regel
Set nDB = nSession.GETDATABASE("", "G:\lotus\notes\data\mail\hvulpen.nsf")

Op mijn werk staat er bij
Server: SRV013\server\toplevel
filename: mail\AA056364.bsf

daar geld de regel:
Set nDB = nSession.GETDATABASE("CN=SRV013/OU=SERVER/O=TOPLEVEL", "mail\AA056364.nsf")

(Je systeembeheerder zou deze gegevens je moeten kunnen aanleveren)
 

Bijlagen

  • Databaseprop.JPG
    Databaseprop.JPG
    27,9 KB · Weergaven: 356
Laatst bewerkt:
Ellasar, ik heb de gegevens gevonden en in het script verwerkt.
Als ik op de knop "Mailtest"druk wordt er wel een kopie gemaakt maar Lotus Notes wordt nog steeds niet aangeroepen.

Mijn Lotus Notes versie is 5.0.11
Ik voeg mij Excel bestand als bijlage bij, met daarin een afbeelding van tabblad eigenschappen van de database.

Zou je aub nog eens kunnen kijken wat ik niet goed doe?
 

Bijlagen

Heb een paar aanpassingen gedaan.
Zet iig de adressering even weer correct. (er stonden nog wat mailadressen in)


Probeer eventueel notes eerst te openen (dattie geactiveerd is) en daarna het script te draaien
 

Bijlagen

Ellasar, het heeft lang geduurt maar hier ben ik weer.
Ik heb van alles geprobeert maar ik krijg het niet aan de gang.

Ik krijg ook geen foutmelding, maar ik kan niet zien dat er iets gebeurt. Ik krijg op mijn pc thuis in ieder geval geen mailtje.

Het valt me nu pas op dat er staat 'SEND (False). Dit wordt niet uitgevoerd omdat er een '
(Apostrophe) voor staat. Moet dit wel? Dit is nu gewoon tekst en geen code.


With nDoc
.REPLACEITEMVALUE "SendTo", "<mailadres>"
.REPLACEITEMVALUE "Subject", "planning"
.REPLACEITEMVALUE "CopyTo", "<mailadres>"
.REPLACEITEMVALUE "ReplyTo", "<mailadres>"
.REPLACEITEMVALUE "Principal", "Koos"
.REPLACEITEMVALUE "SaveMessageOnSend", True
.REPLACEITEMVALUE "Encrypt", "1"
.Save True, True
'.SEND (False)
End With
 
Lol

Dat kan wel eens kloppen ja.. om de code te testen had ik het daadwerkelijk verzenden nog niet ingeschakeld zodat ik hem in mijn Concepten eerst kon bekijken of alles correct ingevuld staat... :)
 
Ellasar, nadat het Excelwerkblad is gekopieerd gebeurt er nog steeds niets.


De macro (Sub Mailtest) wordt aangeroepen met de knop mailtest. Het actieve werkblad wordt gekopieerd en gesaved op de pc. Dan komt de macro bij de end sub van macro (Sub Mailtest) en stopt dus met deze macro

Daaronder staat een macro Private Sub Sendmail()
Deze wordt helemaal niet aangeroepen.

Is dit de rede dat er niets gemaild wordt? Of heb ik het mis?

Zo ja, hoe moet ik deze dan aanroepen?

(voor de bijlage zie enkele reacties hierboven)
 
Zet onderaan de sub mailtest (boven de end sub) de instructie call Sendmail
 
Ellasar, dat was het. Nu wordt de mailsessie aangeroepen. Ben nu weer een stuk dichterbij de oplossing gekomen.

Ik krijg nu wel een foutmelding van een Notes Font.
Zie de bijlage.

Ik heb al wat geprobeerd maar ik ben er nog niet uit.

Weet je misschien hier nog een oplossing voor?

Alvast bedankt.
 

Bijlagen

Ellasar, het werkt!! Hartstikke bedankt hiervoor.

Ik moet nog wel vanalles aan de layout van de mail "fine-tunen".

Ik heb thuis mijn testmailtje ontvangen. Nu staat er dat iemand het heeft gemaild die dezelfde voornaam heeft als ik. (Dus nu kan ik mailtjes versturen die van iemand anders afkomstig lijken te zijn)

Ik moet er dus nog wat aan verbeteren.
Ik laat de vraag voorlopig nog open staan, als ik het dan geoptimaliseerd heb (of nog vragen heb) kan ik het hier posten zodat misschien iemand anders er ook iets aan heeft.

groetjes....
 
Ik heb na lang proberen uiteindelijk een andere code gebruikt en hier en daar nogal aangepast. Deze werkt nu bij iedereen die een Excel werkblad als bijlage wil versturen met Lotus Notes. Wel moet er in het aktieve werkblad in cel A1 de bestandsnaam voor de bijlage staan en in cel A2 een e-mail adres staan.


Ik heb er zo veel mogelijk informatie bijgezet zodat het minder moeilijk is om het, in dien nodig, enigszins aan te passen.

Ellassar nog bedankt!
Het spaart bij ons een hoop tijd en uiteindelijk heb ik er nog behoorlijk wat van geleerd ook.

Koosl
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan