2016-09-24 13 views
-1

Ich habe ein Problem eine Variable zu einem Wort App Geben, über einen Excel-Makro:Parameter an einen Word-Makro aus einer Excel-Makro

dim wrdApp as Word.Application 
dim wrdDoc as Word.Document 
dim PRODUCT_NAME as string 
PRODUCT_NAME="This thing" 
Set wrdApp = CreateObject("Word.Application") 
wrdApp.Visible = True 
Set wrdDoc = wrdApp.Documents.Add 
wrdApp.Run "MAIN_TOC", PRODUCT_NAME 

Dies erzeugt Laufzeitfehler '450':
Falsche Nummer von Argumenten oder ungültiger Eigentumszuweisung.

Was mache ich falsch?

+0

Können Sie das Wort Code für 'MAIN_TOC Post" – Comintern

+0

Und darin liegt das Problem :( ich das Wort richtig Makro nicht aufgebaut hatte Sobald ich die richtige Erklärung wurde die Variable übergeben: Sub MAIN_TOC (Produkt als String) Natürlich brach das Wort Makro, aber aus völlig unabhängigen Gründen –

+0

Ich sehe.Dies ist wahrscheinlich ohne diese Informationen nicht zu beantworten.Sind das Word-VBA-Projekt geschützt? – Comintern

Antwort

0

Als Hintergrund verarbeitet ich mehrere Tabellen in Excel und übergibt die Tabellen an Word über die Zwischenablage. Ich brauchte einen Weg, um Word wissen zu lassen, welchen Tisch ich passierte. Mit 'WrdApp.Run "MAIN_TOC", PRODUCT_NAME', dachte ich, würde Word ermöglichen, jede Zwischenablage mit dem richtigen Namen zu verarbeiten. In der Tat wurde PRODUCT_NAME übergeben, aber der Inhalt der Zwischenablage wurde gelöscht.

Meine mögliche Lösung war, den Namen der Tabelle in der Tabelle selbst zu platzieren. Das Wort Makro würde die Zwischenablage abrufen und dann die erste Zelle der Tabelle betrachten, um den Tabellennamen zu erhalten. Wenn Sie fertig sind, übergab Excel dann die nächste Tabelle und der Vorgang wurde wiederholt.

Alles funktioniert jetzt. ?.

Verwandte Themen