Pagina 1 van 1

Macro van een los bewaard werkblad werkt niet op een andere pc

Geplaatst: 11 aug 2020 15:36
door T. van Overbeek
Hallo, ik heb evaluatie formulieren gemaakt die leerlingen moeten invullen. Daar is een macro aan toegevoegd die het bestand bewaard en vervolgens mij een mail stuurt met het bestand als bijlage. De macro werkt in mijn pc, maar zodra ik de macro vanaf een andere pc start dan werkt deze niet. De foutmelding die dan ontstaat betreft een verwijzing naar de plaats op mijn pc van het originele bestand. Hoe krijg ik die foutmelding opgelost?

Bij voorbaat dank. P.S. ik heb een voorbeeld bestand van het formulier dat leerlingen moeten invullen bijgevoegd. De macro ziet er als volgt uit:

Sub Mail_naar_Docent()

Application.DisplayAlerts = False
ActiveWorkbook.Save

Dim emailApplication As Object
Dim emailItem As Object

Set emailApplication = CreateObject("Outlook.Application")
Set emailItem = emailApplication.createitem(0)

' Email variabele

emailItem.To = Range("g1").Value

emailItem.Subject = Range("g2").Value

emailItem.body = Range("g3").Value

' Voeg het huidige werkblad als bijlage toe
emailItem.attachments.Add ActiveWorkbook.FullName

' Send the Email
emailItem.send
'emailItem.Display

Set emailItem = Nothing
Set emailApplication = Nothing

Application.Quit

End Sub

Re: Macro van een los bewaard werkblad werkt niet op een andere pc

Geplaatst: 11 aug 2020 18:15
door JeanPaul
Test deze macro eens, op voorwaarde dat outlook werkt en geinstalleerd is.



Sub Email_From_Excel_Attachments()

Dim emailApplication As Object
Dim emailItem As Object

Set emailApplication = CreateObject("Outlook.Application")
Set emailItem = emailApplication.CreateItem(0)

' Now we build the email.

emailItem.to = Range("g1").Value

emailItem.Subject = Range("g2").Value

emailItem.Body = Range("g3").Value
Range("A2").Value = Environ("UserName")
' Attach current Workbook
emailItem.Attachments.Add ActiveWorkbook.FullName


' Send the Email
emailItem.Send

Set emailItem = Nothing
Set emailApplication = Nothing

End Sub

Re: Macro van een los bewaard werkblad werkt niet op een andere pc

Geplaatst: 11 aug 2020 20:28
door jkpieterse
Wat is de exacte foutmelding?

Re: Macro van een los bewaard werkblad werkt niet op een andere pc

Geplaatst: 12 aug 2020 05:44
door T. van Overbeek
Bedankt Jean Paul voor jouw macro aanpassing, maar die lost het probleem helaas niet op.

De foutmelding die ik krijg verwijst naar het bestand waar het werkblad uit geƫxporteerd is en zegt "[Bestand] is niet gevonden. Is het bestand verplaatst of verwijderd of is de naam hiervan gewijzigd". Als je wil kun je het eerder bijgevoegde voorbeeld openen en onderaan op de blauwe knop drukken. Ik verwacht natuurlijk dat jullie dan dezelfde foutmelding krijgen. De macro zelf lijkt mij goed want ik heb de macro ook een snelkoppeling meegegeven (CTRL-m) en als ik op die toetscombinatie druk wordt de mail via Outlook gewoon verstuurd. De macro wil echter niet via de daarvoor gemaakte knop opstarten. Blijkbaar heeft de knop een 'link' naar het originele bestand en zit daar dus een probleem.

Re: Macro van een los bewaard werkblad werkt niet op een andere pc

Geplaatst: 12 aug 2020 08:00
door jkpieterse
De foutmelding heeft niks met je macro te maken maar met de knop. zorg ervoor dat je de knop toewijst aan de versie van de macro die in het bestand staat, nu verwijst de knop naar een macro in een ander bestand (die je leerlingen niet hebben)

Re: Macro van een los bewaard werkblad werkt niet op een andere pc

Geplaatst: 17 aug 2020 07:49
door T. van Overbeek
Ik ben even een paar dagen niet met het probleem bezig geweest, maar er is goed nieuws ik ben eruit. Ik heb de macro waarmee de leerling het evaluatieformulier naar de docent stuurt aan elk evaluatieformulier (werkblad) gekoppeld. Vervolgens heb ik bij het aanmaken van de evaluatieformulieren een kleine routine geschreven om de knop die de link met de macro miste te koppelen aan de macro die in het betreffende werkblad hangt. De routine is hieronder afgebeeld, waarbij 'bladnummer' een variabel is afhankelijk van het aantal formulieren dat er gemaakt moet worden. De werkbladen met de evaluatieformulieren bij mij heten B1, B2 enz. De macro heet "werkbladnaam:".Mail_naar_Docent"

'koppel de knop aan de werkblad macro en keer terug naar cel A1
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).Select
Selection.OnAction = "B" & bladnummer & ".Mail_naar_Docent"
SendKeys ("^{HOME}")

Jullie bijdrage heeft mij wel steeds op een ander spoor gebracht, waardoor ik beter begreep waar het heen moest. Dank daarvoor. Wat mij betreft kan dit item gesloten worden. Schroom niet te reageren als je hier vragen over hebt.