Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 15 van 15

Onderwerp: Via scheduled task run.bat openen en excel laten mailen

  1. #1
    Mega Senior HWV's avatar
    Geregistreerd
    19 februari 2009
    Locatie
    Barendrecht
    Afstand tot server
    ±147 km
    Vraag is opgelost

    Via scheduled task run.bat openen en excel laten mailen

    Beste,

    Ik probeer op de server2012 een task te maken van een .bat file die dan het script.vsb aanstuurt om een excel bestand te openen die dan zijn macro draait.
    Nu moet die macro een deel van blad2 mailen, en daar gaat het mis.
    Als ik handmatig de run.bat start dan gaat het goed, maar via de task loopt het niet.
    Hieronder de scripts die ik gebruik en het excel bestand die de mail moet verzenden.

    Ik hoop dat ik op de juiste forum gedeelte zit die mij hiermee kan helpen.


    run.bat
    Code:
    cscript script.vbs "P:\automatisering\Scripts\Excel Batch script\Registratie-Documenten\Registratie-Documenten.xlsm"
    script.vsb
    Code:
    Dim args, objExcel
    
    Set args = WScript.Arguments
    Set objExcel = CreateObject ("Excel.Application")
    
    objExcel.Workbooks.open args(0)
    objExcel.Visible = true
    
    objExcel.Run "hsv"
    
    objExcel.ActiveWorkbook.Save
    objExcel.ActiveWorkbook.Close(0)
    objExcel.Quit
    En dan hier het Excel bestand wat geopend wordt en de mail moet sturen.

    Registratie-Documenten.xlsm

    Het gebeurd allemaal onder administrator rechten!
    Groet HWV
    Alleen weet je niet zo veel, maar met elkaar des te meer.

    (ik werk met excel 2010, via een terminalserver met "Windows server 2012R2" )

  2. #2
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Is de scheduled task zo ingericht dat deze ook mag lopen als de gebruiker niet is ingelogd?
    Dat kan meerdere oorzaken hebben.
    Kijk bijvoorbeeld eens of deze mappen bestaan, zoniet, maak ze dan aan:
    C:\Windows\System32\config\systemprofile\Desktop
    C:\Windows\SysWOW64\config\systemprofile\Desktop
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  3. #3
    Mega Senior HWV's avatar
    Geregistreerd
    19 februari 2009
    Locatie
    Barendrecht
    Afstand tot server
    ±147 km

    map aangemaakt maar nog niet

    Edmoor,

    Er bestond 1 map niet die heb ik aangemaakt.

    C:\Windows\System32\config\systemprofile\Desktop

    Het is zo ingesteld dat ook al de gebruiker niet is ingericht dat de taak mag lopen.
    Wat ik wel zie is dat als ik deze handmatig laat runnen, dat deze in running blijf staan.
    Ik weet niet of dit hoort

    Maar helaas heeft dit nog niet mogen helpen.

    Groet Henk
    Alleen weet je niet zo veel, maar met elkaar des te meer.

    (ik werk met excel 2010, via een terminalserver met "Windows server 2012R2" )

  4. #4
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Dan bestaat de kans dat Outlook op de achtergrond de melding geeft dat een programma van derden namens jou een mail probeert te versturen. Die krijgt uiteraard geen antwoord en blijft daar op wachten. Kijk daarvoor naar dit:
    https://support.microsoft.com/nl-nl/...half-warning-i

    Of een rigoreuze niet veilige manier:
    http://www.contextmagic.com/express-clickyes/
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  5. #5
    Mega Senior HWV's avatar
    Geregistreerd
    19 februari 2009
    Locatie
    Barendrecht
    Afstand tot server
    ±147 km

    Al uitgeschakeld

    Edmoor,

    Ik heb dit al in het register laten opnemen dat dit wordt uitgeschakeld, dus daar kan het niet aan liggen.
    Het vreemde is dat het handmatig wel goed gaat zonder problemen, maar met de task runt hij niet.
    Ik begrijp dat het moeilijk beoordelen is als je niet ziet hoe en wat er gebeurd op onze server,

    Anders moet ik kijken naar een andere oplossing.

    Groet Henk
    Alleen weet je niet zo veel, maar met elkaar des te meer.

    (ik werk met excel 2010, via een terminalserver met "Windows server 2012R2" )

  6. #6
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Ik kan er denk ik wel goed over oordelen omdat ik het probleem zelf ook af en toe tegen kom en ook die register instelling voorkomt niet altijd die vraag.
    Als geen enkele geboden oplossing werkt gebruik ik niet meer Outlook maar verstuur de mail dan via CDO, dan heb je er geen last meer van.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  7. #7
    Mega Senior HWV's avatar
    Geregistreerd
    19 februari 2009
    Locatie
    Barendrecht
    Afstand tot server
    ±147 km
    Bedankt,

    Ik heb al een beetje gekeken voor het verzenden via CDO, maar de eerste test deed niks.
    Was de code van Ron de bruin.
    Code:
    Sub CDO_Mail_Small_Text()
        Dim iMsg As Object
        Dim iConf As Object
        Dim strbody As String
        Dim Flds As Variant
    
        Set iMsg = CreateObject("CDO.Message")
        Set iConf = CreateObject("CDO.Configuration")
    
        '    iConf.Load -1    ' CDO Source Defaults
        '    Set Flds = iConf.Fields
        '    With Flds
        '        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        '        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "Fill in your SMTP server here"
        '        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        '        .Update
        '    End With
    
        strbody = "Hi there" & vbNewLine & vbNewLine & _
            "This is line 1" & vbNewLine & _
            "This is line 2" & vbNewLine & _
            "This is line 3" & vbNewLine & _
            "This is line 4"
    
        With iMsg
            Set .Configuration = iConf
            .To = "ron@debruin.nl"
            .CC = ""
            .BCC = ""
            .From = """Ron"" <ron@something.nl>"
            .Subject = "Important message"
            .TextBody = strbody
            .Send
        End With
    
        Set iMsg = Nothing
        Set iConf = Nothing
        Set Flds = Nothing
    End Sub
    Moet ik me echt in gaan verdiepen, want nog nooit mee gewerkt.

    Groet Henk
    Alleen weet je niet zo veel, maar met elkaar des te meer.

    (ik werk met excel 2010, via een terminalserver met "Windows server 2012R2" )

  8. #8
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Als je een eigen SMTP server gebruikt dan bestaat de kans dat het IP adres van de server waar vandaan je de mail stuurt moet worden toegevoegd aan een lijst met IP adressen van de SMTP server die worden toegestaan om dat te doen.

    Dit is een CDO template die GMAIL's SMTP server gebruikt via SSL:
    Code:
    Sub CDOmail()
        Dim iMsg As Object
        Dim iConf As Object
        Dim Flds As Variant
        Dim Schema As String
    
        Dim SMTPsendusing As Byte
        Dim SMTPauthenticate As Byte
        Dim SMTPserver As String
        Dim SMTPserverport As Integer
        Dim SMTPusessl As Boolean
        Dim SMTPusername As String
        Dim SMTPpassword As String
        Dim SMTPconnectiontimeout As Integer
        
        Dim msgTO As String
        
        Set iMsg = CreateObject("CDO.Message")
        Set iConf = CreateObject("CDO.Configuration")
    
        SMTPsendusing = 2
        SMTPauthenticate = 1
        SMTPserver = "smtp.gmail.com"
        SMTPserverport = 465
        SMTPusessl = True
        SMTPusername = "USERNAME@gmail.com"
        SMTPpassword = "HETWACHTWOORD"
        SMTPconnectiontimeout = 10
        
        msgTO = "hsv@helpmij.nl"
        
        Schema = "http://schemas.microsoft.com/cdo/configuration/"
        iConf.Load -1   'zet CDO standaard instellingen
        Set Flds = iConf.Fields
        With Flds
            .Item(Schema & "sendusing") = SMTPsendusing
            .Item(Schema & "smtpauthenticate") = SMTPauthenticate
            .Item(Schema & "smtpserver") = SMTPserver
            .Item(Schema & "smtpserverport") = SMTPserverport
            .Item(Schema & "smtpusessl") = SMTPusessl
            .Item(Schema & "sendusername") = SMTPusername
            .Item(Schema & "sendpassword") = SMTPpassword
            .Item(Schema & "smtpconnectiontimeout") = SMTPconnectiontimeout
            .Update
        End With
    
        With iMsg
            Set .Configuration = iConf
            .To = msgTO
            .CC = ""
            .BCC = ""
            .From = SMTPusername
            .Subject = "Server Status"
            .TextBody = "De mail tekst"
            '.AddAttachment "C:\Map\Bestand.pdf"
            .Send
        End With
    
        Set iMsg = Nothing
        Set iConf = Nothing
        Set Flds = Nothing
    End Sub
    Het GMAIL account moet dan wel zo zijn ingericht dat LESS SECURE apps mogen worden gebruikt voor het versturen van email.
    Uiteraard kan je een SMTP server naar keuze gebruiken, als je je maar aan de eisen van de betreffende server houdt.
    Office365 bijvoorbeeld vereist dat USERNAME en SENDER hetzelfde zijn.
    Laatst aangepast door edmoor : 20 maart 2018 om 20:52
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  9. #9
    Mega Senior HWV's avatar
    Geregistreerd
    19 februari 2009
    Locatie
    Barendrecht
    Afstand tot server
    ±147 km
    Heb nog wat getest en krijg keer op keer de volgende melding

    The "sendingUsing" configuration value is invalid

    Is dit een instelling die ik moet veranderen

    Groet Henk
    Alleen weet je niet zo veel, maar met elkaar des te meer.

    (ik werk met excel 2010, via een terminalserver met "Windows server 2012R2" )

  10. #10
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    De instelling sendingusing bestaat niet, dat moet SendUsing zijn en als je via een poort (25) wilt versturen moet SendUsing 2 zijn.
    Kijk ook naar de uitbreiding die ik in#8 plaatste.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  11. #11
    Mega Senior HWV's avatar
    Geregistreerd
    19 februari 2009
    Locatie
    Barendrecht
    Afstand tot server
    ±147 km

    ligt niet aan de task

    Edmoor,

    Ik heb net even een andere test gedaan.
    Eerst met de task een move gedaan met een test .bat file en dat ging goed dus weet dat de task goed gaat.

    Dus heb toen het excel script aangepast dat i.p.v. dat hij gaat verzenden dat hij een kopie van de sheet in de map opslaat...... en daar gaat het fout.
    het lijkt er dus op dat het verkeerd gaat met het aansturen van de script.vsb

    Code:
    cscript script.vbs "P:\automatisering\Scripts\Excel Batch script\Registratie-Documenten\Registratie-Documenten.xlsm"
    of in het script.vsb zelf
    Code:
    Dim args, objExcel
    
    Set args = WScript.Arguments
    Set objExcel = CreateObject ("Excel.Application")
    
    objExcel.Workbooks.open args(0)
    objExcel.Visible = true
    
    objExcel.Run "hsv"
    
    objExcel.ActiveWorkbook.Save
    objExcel.ActiveWorkbook.Close(0)
    objExcel.Quit
    Maar het blijf vreemd dat het handmatig wel goed gaat maar via de task niet (zou dit dan niet kunnen via een task)

    Groet Henk
    Alleen weet je niet zo veel, maar met elkaar des te meer.

    (ik werk met excel 2010, via een terminalserver met "Windows server 2012R2" )

  12. #12
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Is vanuit de Task Scheduler voor een proces waarbij de gebruiker niet is ingelogd die P: schijf wel beschikbaar?
    Dat is standaard namelijk niet zo.
    Zet deze regel eens in de bat file om de P: schijf te koppelen
    NET USE P: \\COMPUTER\automatisering\Scripts\Excel Batch script\Registratie-Documenten

    Waarbij je COMPUTER vervangt door de naam van de computer waar dat pad daadwerkelijk staat.
    Of test het eens vanaf de C: of een andere lokaal beschikbare schijf in plaats van een netwerk locatie.
    Laatst aangepast door edmoor : 21 maart 2018 om 19:42
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  13. #13
    Mega Senior HWV's avatar
    Geregistreerd
    19 februari 2009
    Locatie
    Barendrecht
    Afstand tot server
    ±147 km

    Anders opgelost

    Edmoor,

    Bedankt voor je input.
    Code:
    \\SERVER1\Data\automatisering\Scripts\Excel Batch script\Registratie-Documenten\Start_Document_Registratie.xlsm
    Ik had deze al veranderd naar de directe link.
    Hij blij problemen houden met mailen.
    Aan gezien deze mail naar een intern persoon ging heb ik het anders opgelost,
    Ik maak een excel bestand die ik dan in zijn persoonlijke map zet, en die kan ik wel aanroepen via de task via de auto open die de maco oproep,

    Ondertussen blijf ik het bekijken over het mailen want wil het eigenlijk voor meer toepassingen gaan gebruiken.

    Helaas de oplossing er nog niet voor gevonden,

    Henk
    Alleen weet je niet zo veel, maar met elkaar des te meer.

    (ik werk met excel 2010, via een terminalserver met "Windows server 2012R2" )

  14. #14
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Vanuit scheduled tasks is het gebruik van CDO in plaats van Outlook aan te bevelen.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  15. #15
    Mega Senior HWV's avatar
    Geregistreerd
    19 februari 2009
    Locatie
    Barendrecht
    Afstand tot server
    ±147 km
    Ik ga het onderzoeken Edmoor.

    Bedankt zover

    Groet Henk
    Alleen weet je niet zo veel, maar met elkaar des te meer.

    (ik werk met excel 2010, via een terminalserver met "Windows server 2012R2" )

  16. Dit topic is automatisch gesloten omdat er sinds vier maanden niet meer op gereageerd is.

    Indien gewenst kan de topicstarter een verzoek tot heropening indienen.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren