Ook ik ben voor het werk bezig met een stukje script om het leven makkelijker te maken.
Het script zal ingevoerde gegevens in een Userform opslaan in Excel en meteen een e-mail versturen naar persoon X.
Ik werk als systeem beheerder in een klein kantoor en wil op deze manier de registratie van incidenten versnellen en verduidelijken voor mijn collega's.
De bedoeling is:
Klant stuurt e-mail met probleem.
Ik maak een incident aan met gegevens.
VB stuurt automatisch een e-mail naar klant.
Nu loop ik tegen 1 probleem aan, ik wil mijn collega's in het mailtje erop attenderen dat ze meer informatie kunnen vinden in Document X. Document X wil ik dan als hyperlink hebben en niet als volledige tekst (hier ipv. http://www.google.nl).
Het probleem waar ik nu voor sta:
Met een HTMLBody kan ik geen variable gebruiken als ik HTML tags gebruik voor de link (.HTMLBody = Variable 1 + <HTML><BODY><A href=""www.google.nl"">hier</A></Body><HTML> + "Heel veel informatie" + Variable2.
Zonder een HTML body lukt het mij niet om de link te plaatsen.
Als ik het op bovenstaande manier probeer krijg ik alleen de link en niks wat buiten de tags staat. Variable binnen deze tags komen naar voren als text. Als ik alleen Variable gebruik en geen tags krijgt ik wel de variable maar kan ik weer geen hyperlink maken.
Nu dan, de code: Deze code staat in de userform genaamt "Newinc", de betreffende code staat onder CmdOk_Click.
De fout komt hier. Ik zal 3 gebruikte voorbeelden geven.
Voorbeeld 1
'HTML Body met Tags. De Variable TextInc en TextOnd en ook de Tekst "Tekst Tekst" Komen niet voor in de mail
'Voorbeeld 2
'Op deze manier zie ik wel de waarde van de variable TextInc maar kan ik geen hyperlink maken.
'Voorbeeld3
'Ook hier werkt de Tekst en de variable wel, maar de HTML Tags niet.(Als ik hier "'s gebruik word het tekst en werkt het ook niet.
Vervolg:
Ik hoop natuurlijk dat jullie mijn codes snappen, ik heb er comments bijgezet om het hopelijk wat duidelijker te maken. Ik heb overal op het internet gezocht maar kan helaas niks vinden die dit voor mij zal oplossen, de oplossingen die er zijn zijn voornamelijk voor standaard e-mailtjes met een standaard tekst, maar omdat ik variables wil gebruiken in de Body kan ik die niet gebruiken.
Wat ik eigenlijk dus zoek is of een optie om in de .HTMLBody Variables te gebruiken naast de HTML Tags. of in .Body gewoon een hyperlink te kunnen plaatsen.
Het script zal ingevoerde gegevens in een Userform opslaan in Excel en meteen een e-mail versturen naar persoon X.
Ik werk als systeem beheerder in een klein kantoor en wil op deze manier de registratie van incidenten versnellen en verduidelijken voor mijn collega's.
De bedoeling is:
Klant stuurt e-mail met probleem.
Ik maak een incident aan met gegevens.
VB stuurt automatisch een e-mail naar klant.
Nu loop ik tegen 1 probleem aan, ik wil mijn collega's in het mailtje erop attenderen dat ze meer informatie kunnen vinden in Document X. Document X wil ik dan als hyperlink hebben en niet als volledige tekst (hier ipv. http://www.google.nl).
Het probleem waar ik nu voor sta:
Met een HTMLBody kan ik geen variable gebruiken als ik HTML tags gebruik voor de link (.HTMLBody = Variable 1 + <HTML><BODY><A href=""www.google.nl"">hier</A></Body><HTML> + "Heel veel informatie" + Variable2.
Zonder een HTML body lukt het mij niet om de link te plaatsen.
Als ik het op bovenstaande manier probeer krijg ik alleen de link en niks wat buiten de tags staat. Variable binnen deze tags komen naar voren als text. Als ik alleen Variable gebruik en geen tags krijgt ik wel de variable maar kan ik weer geen hyperlink maken.
Nu dan, de code: Deze code staat in de userform genaamt "Newinc", de betreffende code staat onder CmdOk_Click.
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| Private Sub cmdOk_Click() Range("B4").Select 'Vind en Selecteer de eerste lege lijn. Do While ActiveCell = "" = False ActiveCell.Offset(1, 0).Select Loop 'Voeg de waarde aangegeven in de userform toe aan het Excel document op 1 lijn. ActiveCell.Value = TextInc ActiveCell.Offset(0, 1).Select 'Stapje naar rechts ActiveCell.Value = TextAanmelder ActiveCell.Offset(0, 1).Select ActiveCell.Value = TextOnd ActiveCell.Offset(0, 1).Select ActiveCell.Value = Format(TextAanmDatum, DD - MM - YYYY) 'Zorgt ervoor dat de date format klopt en geen rare dingen doet (zoals MM - DD - YYYY) ActiveCell.Offset(0, 1).Select ActiveCell.Value = Format(TextADAD, DD - MM - YYYY) ActiveCell.Offset(0, 1).Select ActiveCell.Value = "Nee" ActiveCell.Offset(0, 1).Select ActiveCell.Value = TextOpmerkingen If ListBoxMail.Selected(0) = True Then 'Controleer of "Ja" is geselecteerd in de listbox of er een mail verstuurd moet worden Dim OlApp As Object Dim OlMail As Object Set OlApp = CreateObject("Outlook.Application") Set OlMail = OlApp.createitem(olmailitem) OlMail.Recipients.Add TextAanmelder 'Aan OlMail.Subject = TextOnd 'Onderwerp |
De fout komt hier. Ik zal 3 gebruikte voorbeelden geven.
Voorbeeld 1
Visual Basic:
1
2
| OlMail.HTMLBody = TextInc + "<HTML><Body><A href=""www.somemoretesting.com"">Some</A></BODY></HTML>" + "Tekst tekst" + TextOnd |
'HTML Body met Tags. De Variable TextInc en TextOnd en ook de Tekst "Tekst Tekst" Komen niet voor in de mail
'Voorbeeld 2
Visual Basic:
1
2
3
| OlMail.HTMLBody = TextInc |
'Op deze manier zie ik wel de waarde van de variable TextInc maar kan ik geen hyperlink maken.
'Voorbeeld3
Visual Basic:
1
| olMail.Body = TextInc + "Tekst Tekst" + <A href=""www.somemoretesting.com"">Some</A> |
'Ook hier werkt de Tekst en de variable wel, maar de HTML Tags niet.(Als ik hier "'s gebruik word het tekst en werkt het ook niet.
Vervolg:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| OlMail.Display 'Ben nog druk aan het testen dus hoeft er niets verstuurd te worden. End If Unload Newinc End Sub Private Sub cmdCancel_Click() Unload Newinc End Sub Private Sub Userform_Initialize() 'Voeg waardes toe in tekstveld ADAD en AanmDatum x = Date Y = DateAdd("d", 5, Date) TextADAD.Value = Y TextAanmDatum.Value = x With ListBoxMail 'Voeg Waardes "Ja" en "Nee" toe aan de listbox .AddItem "Yes" .AddItem "No" End With End Sub |
Ik hoop natuurlijk dat jullie mijn codes snappen, ik heb er comments bijgezet om het hopelijk wat duidelijker te maken. Ik heb overal op het internet gezocht maar kan helaas niks vinden die dit voor mij zal oplossen, de oplossingen die er zijn zijn voornamelijk voor standaard e-mailtjes met een standaard tekst, maar omdat ik variables wil gebruiken in de Body kan ik die niet gebruiken.
Wat ik eigenlijk dus zoek is of een optie om in de .HTMLBody Variables te gebruiken naast de HTML Tags. of in .Body gewoon een hyperlink te kunnen plaatsen.