2009-06-28 8 views
0

J'essaie d'exécuter le code ci-dessous dans VB (Macro Excel), mais je suis coincé avec une erreur qui apparaît en cours d'exécution en disant "Erreur Automation".macro problème

strComputer = "." 

Set objNetwork = CreateObject ("WScript.Network") Set fs = CreateObject ("Scripting.FileSystemObject")

Set objWMIService = GetObject ("winmgmts: \" & strComputer & « \ racine \ Cimv2 ") Set colFiles = objWMIService.ExecQuery _ (" ASSOCIATORS DE {Win32_Directory.Name = 'U: \'} Où "_ & "ResultClass = CIM_DataFile")

Pour Eac h objFile Dans colFiles si objFile.FileName = "* ml_" Alors

 destinationPROD = "X:\ABC\" & objFile.FileName & "." & objFile.Extension 
     objFile.Copy(destinationPROD) 

     objFile.delete 

    else 

     destinationPROD = "X:\PQR\" & objFile.FileName & "." & objFile.Extension 
     objFile.Copy(destinationPROD) 


     objFile.delete 

    End If 

Suivant

Merci à avance.Veuillez aide-moi

+0

Pourriez-vous formater le code? Changer également le titre pour inclure suffisamment d'informations? Erreur d'automatisation lors de l'utilisation de WMI à partir de VBA? Ajoutez également le tag WMI. – shahkalpesh

Répondre

1

Vous devez juste une autre barre oblique après "winmgmts: \" :)

Il devrait être:

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

0

Il pourrait être un problème de droits. Testez-le en utilisant un disque local. Assurez-vous que tous les répertoires requis existent.