Eu tenho esse VBScript que eu quero rodar todos os dias, mesmo que eu não esteja no meu computador:
Option Explicit
Dim file, folder
Dim xlapp, xlbook, filesys, accapp
Dim sorte, journee, projet, compagnie
Set xlapp = CreateObject("Excel.Application")
xlapp.displayalerts = false
Set filesys = CreateObject("Scripting.FileSystemObject")
folder = "\\OGR-VMHOST-01\FTPRoot\Dataroom\test"
For Each file In filesys.GetFolder(folder).Files
If UCase(filesys.GetExtensionName(file.Name)) = "XLSM" Then
Set xlbook = xlapp.Workbooks.Open(file.Path)
On Error resume next
xlapp.Run "Upload_DB"
xlbook.SaveAs file.Path
If err <> 0 Then
xlbook.Close
xlapp.Quit
End if
sorte = xlbook.ActiveSheet.cells(1,1).value
journee = xlbook.ActiveSheet.cells(1,3).value
compagnie = xlbook.ActiveSheet.cells(1,7).value
projet = xlbook.ActiveSheet.cells(2,7).value
xlbook.Close
If InStr(sorte, "Milling") Then
sorte = "Milling"
Else
sorte = "Mining"
End If
file.Name = sorte & "_" & compagnie & "_" & projet & "_" & journee & ".xlsm"
If err <> 0 Then
xlapp.Quit
End if
filesys.MoveFile file.Path, "\\OGR-VMHOST-01\FTPRoot\Dataroom\test\Archive\"
If err <> 0 Then
xlapp.Quit
End if
End if
Next
xlapp.Quit
folder = "\\OGR-VMHOST-01\FTPRoot\Dataroom\test\Rapports"
For Each file In filesys.GetFolder(folder).Files
filesys.MoveFile file.Path, "J:\Rapports\Archive\"
next
Set accapp = CreateObject("Access.Application")
accApp.OpenCurrentDataBase("\\OGR-VMHOST-01\FTPRoot\Dataroom\test\DB\Rapports Quotidiens.accdb")
accapp.Run "ExportToPDF"
accapp.Quit
Set xlapp = Nothing
Set xlbook = nothing
Set filesys = Nothing
Set accapp = nothing
Essencialmente, ele abre todos os arquivos do Excel em uma unidade compartilhada, faz com que eles executem uma macro e os movam para outro lugar. Em seguida, ele executa uma macro de acesso que cria um relatório e envia por email.
Eu posso fazer o script funcionar no agendador de tarefas, se eu definir que tenho que estar logado no momento da execução, mas no momento em que o configurei para funcionar quando não estiver logado, ele não parece fazer mais nada .
A partir da leitura de outras questões, acredito que tenha algo a ver com a conta padrão não ter privilégios suficientes para executá-la. Então, como faço para que meu script use minha conta para executar sua tarefa?
EDIT: Parece que o script não está em causa por agora. Eu não posso sequer obter cmd para executar sem estar logado. E o administrador da empresa não tem idéia do que estou falando.
fonte