Ich brauche ein Wort Makro mit Powershell ausführen. Bisher habe ichPowershell mit Argument/Parameter
$wd = new-object -comobject word.application
$wd.run("PrintAll")
$wd.quit()
Was ich möchte, ist einen Parameter oder Argument tun hinzufügen, die auf dem Netzwerk zu einem bestimmten Ordner zeigen werden und dann diese Parameter auf das Makro übergeben. Das Makro beginnt wie folgt aus:
Public sPath
Sub PrintAll()
Dim fs, f, fc, f1
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(sPath) ' Provide folder name where doc files are present
Set fc = f.Files
Dim FileList() As String
Dim Cnt As Integer
Cnt = 0
Dim myDoc As Word.Document
Ich habe über 70 verschiedene Speicherorte, die ich brauche, um zu zeigen, und das Ziel ist es, nur 1 Sub haben (Makro) in Word, aber separaten Powershell-Skripte zu haben, Zeigen Sie auf jeden Ordner und übergeben Sie ihn an den einen Sub (Makro). Außerdem möchte ich, dass das Argument in Powershell den Speicherort des Ordners an die Variable sPath im Makro sendet.
Irgendwelche Gedanken darüber, wie ich das erreichen kann?
Ich versuchte
$wd = new-object -comobject word.application
$wd.run('PrintAll', '\\serverX\g$\xxxxxxxx')
$wd.quit()
aber erhielt Fehler "Argument: '2' sollte ein System.Management.Automation.PSReference sein Verwenden [ref].."
Leider muss ich Führen Sie das Word-Makro aus, da vor dem Drucken einige Formatierungen für das Dokument erforderlich sind. Ich denke nicht, dass das funktioniert, weil es nicht wirklich zum Makro aufruft. –
Ich habe es, Ihr Problem ist: Sie übergeben einen Wert in der Funktion, die nicht geeignet ist Argument für diese Funktion. –