Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [VBS] Esecuzione macro di Office non funziona da "Operazioni programmate"

    Buongiorno a tutti,
    ho creato un piccolo programma .vbs che apre un file access e viene eseguita una macro. Di seguito riporto il codice:
    dim oaccess

    set oaccess = createobject("access.application")
    oaccess.opencurrentdatabase "\\storage01\vol2\CRMGeniusAggiornamentoDati\CRMGe niusEstrapolazione.accdb"
    oaccess.closecurrentdatabase
    oaccess.quit
    set oaccess=nothing

    Se eseguito facendo doppio clic sul file funziona tutto correttamente mentre inserendolo come operazione pianificata non succede nulla. L'oprazione è stata creata con l'account amministratore e non riporta messaggi di errore.

    Quale può essere la causa?

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Nel computer che esegue l'operazioni pianificata è installato MSAccess (ovvero più probabilmente l'Office) ?

  3. #3
    Quote Originariamente inviata da gibra Visualizza il messaggio
    Nel computer che esegue l'operazioni pianificata è installato MSAccess (ovvero più probabilmente l'Office) ?
    Certamente è lo stesso dal quale avviando con il doppio clic vbs viene eseguito correttamente

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    L'account con cui esegui lo script ha i permessi di accesso allo share di rete che hai indicato?

    Hai controllato nel registro degli eventi se esistono messaggi dallo scheduler?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Quote Originariamente inviata da oregon Visualizza il messaggio
    L'account con cui esegui lo script ha i permessi di accesso allo share di rete che hai indicato?

    Hai controllato nel registro degli eventi se esistono messaggi dallo scheduler?
    L'account è un amministratore ha i permessi di accesso a tutte le cartelle condivise. Ho fatto un test comunque di predisporre i file in locale e purtroppo non cambia nulla.

    Come messaggi non da nulla di significativo o errore di qualsiasi tipo. Comunque li riporto di seguito:

    Utilità di pianificazione: l'istanza "C:\Windows\System32\WScript.exe" dell'attività "\AGM\Esportazione csv" è stata avviata con ID processo 9416.
    Utilità di pianificazione:l'azione "\\storage01\vol2\CRMGeniusAggiornamentoDati\Creaz ioneFileExcel.VBS" dell'istanza "{fc56e876-9d2c-4516-b913-94869ab85a64}" dell'attività "\AGM\Esportazione csv" è stata avviata.
    Utilità di pianificazione: l'istanza "{fc56e876-9d2c-4516-b913-94869ab85a64}" dell'attività "\AGM\Esportazione csv" per l'utente "AGM\Administrator" è stata avviata.
    Il modulo attività "S-1-5-21-608525561-75065599-1231754661-500:AGM\Administrator:Password:LUA" ha ricevuto un messaggio del servizio Utilità di pianificazione che richiede l'avvio dell'attività "\AGM\Esportazione csv".
    Utilità di pianificazione: l'istanza "{fc56e876-9d2c-4516-b913-94869ab85a64}" dell'attività "\AGM\Esportazione csv" è stata avviata a causa di una condizione di attivazione a tempo.


    Poi rimane aperta finchè non la chiudi manualmente e sopratutto non crea nessun file csv.

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quali sono le istruzioni eseguite dalla macro?
    Hai previsto una scrittura su file di LOG?

  7. #7
    No nessuna scritta su file di log. Le istruzioni eseguite dalla macro sono di estrapolare dei codici e scriverli su file csv. L'ho nominata come AUTOEXEC in modo che all'apertura del file access venga eseguita automaticamente.

    Questa è la macro di access convertita in vb
    codice:
    Option Compare Database
    
    '------------------------------------------------------------
    ' AUTOEXEC
    '
    '------------------------------------------------------------
    Function AUTOEXEC()
    On Error GoTo AUTOEXEC_Err
    
        DoCmd.TransferText acExportDelim, "EstrapolazioneSpecifiche", "EstrapolazioneContatti", "\\storage01\vol2\CRMGeniusAggiornamentoDati\Contatti.csv", True, ""
        DoCmd.TransferText acExportDelim, "EstrapolazioneSocietà - specifica di esportazione", "EstrapolazioneSocietà", "\\storage01\vol2\CRMGeniusAggiornamentoDati\Societa.csv", True, ""
    
    
    AUTOEXEC_Exit:
        Exit Function
    
    AUTOEXEC_Err:
        MsgBox Error$
        Resume AUTOEXEC_Exit
    
    End Function
    La cosa che non capisco è perchè cliccando due volte sul programma (da account non amministratore) funziona tutto ma eseguendolo come operazione pianificata con account con privilegi maggiori non va...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Magari l'errore viene visualizzato dalla MsgBox ma non lo vedi perché il servizio non può interagire con il desktop. Per capire, dovresti scrivere su un file di log il valore di Error
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Magari l'errore viene visualizzato dalla MsgBox ma non lo vedi perché il servizio non può interagire con il desktop. Per capire, dovresti scrivere su un file di log il valore di Error
    Come posso fare per scrivere il log dell'errore in un file?

  10. #10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.