ich einen einfachen Powershell-Skript, das ich bei C gespeichert habe: \ Benutzer Public \, die den folgenden Code enthält:Powershell-Skript nicht Datei auf Remote Desktop findet
#run program
$excel = new-object -comobject excel.application
$excelFiles = Get-ChildItem -Path "C:\Users\Public" -Include *.xls, *xlsm -Recurse
Foreach($file in $excelFiles)
{
$workbook = $excel.workbooks.open("sendEmail.xlsm")
$worksheet = $workbook.worksheets.item(1)
$excel.Run("CDO_Mail_Small_Text")
$workbook.save()
$workbook.close()
}
$excel.quit()
Wie Sie sehen können, wird das Skript öffnet eine Excel-Datei, die sich im selben Ordner wie die .ps1-Datei befindet. Die Excel-Datei soll eine E-Mail senden. Dies ist ein Testfall, den ich erstellt habe und der auf meinem lokalen Rechner funktioniert.
Ich versuche, dies auf einem RDP laufen zu lassen. Als ich die beiden Dateien von meinem lokalen Rechner an der gleichen Stelle auf dem RDP kopieren (C: \ Benutzer \ Öffentlich) und die PS1-Datei durch Powershell es laufen lasse, erhalte ich folgende Fehlermeldung:
Exception calling "Open" with "1" argument(s): "'sendEmail.xlsm' could not be found.
Da diese funktioniert perfekt auf meinem Computer Ich habe keine Ahnung, warum es auf dem Remote-Computer nicht funktioniert. Irgendwelche Ideen?
Letztlich ist hier, was ich versuche zu tun: auf einer RDP eine Access-Datenbank
- Ich habe
- Ich habe eine Excel-
auf wiederkehrendes auf einem zugeordneten Laufwerk-Datei Ich muss die Excel-Datei automatisch öffnen, eine Tabelle aus der Access-Datenbank abrufen und die Daten in der Excel-Datei bearbeiten und eine E-Mail senden. Dies ist alles sehr spezifisch für die Besonderheiten meines Geschäfts, daher begrüße ich Vorschläge zu alternativen Ideen, aber "mach einfach alles in Access" ist keine Option.
Ich machte einen Testfall, wo alles auf dem zugeordneten Laufwerk war und alles funktioniert in diesem Fall, einschließlich der Ausführung als wiederkehrende geplante Aufgabe. Ich muss nur herausfinden, wie es funktioniert, wenn die Access-Datenbank auf einem RDP läuft.
Danke.
Dank. Gibt diese Zeile nicht den Pfad an? $ excelFiles = Get-ChildItem -Pfad "C: \ Users \ Public" -Include * .xls, * xlsm -Recurse. Von dieser Zeile an handelt es sich nicht um eine Sammlung von Excel-Dateien, die sich unter C: \ Users \ Public befinden? – tjnel
Das sagt Excel nicht, wo Sie Ihre Makrodatei finden –