| 1 | ; Example by big daddy
|
|---|
| 2 |
|
|---|
| 3 | ; Before running this:
|
|---|
| 4 | ; 1. Create a Word Document
|
|---|
| 5 | ; 2. Press Alt-F11
|
|---|
| 6 | ; 3. Double Click "ThisDocument"
|
|---|
| 7 | ; 4. Paste the following macro
|
|---|
| 8 | ; 5. Saveas "ByRef.doc"
|
|---|
| 9 |
|
|---|
| 10 | ; Comment from big daddy:
|
|---|
| 11 | ; I would have expected the following to write "After" to the console, but instead it still has the value of "Before".
|
|---|
| 12 |
|
|---|
| 13 | #include <Word.au3>
|
|---|
| 14 |
|
|---|
| 15 | $vArg = "Before"
|
|---|
| 16 | $sFilePath = @ScriptDir & "\ByRef.doc"
|
|---|
| 17 |
|
|---|
| 18 | $oWordApp = _WordCreate($sFilePath, 0, 0)
|
|---|
| 19 | __WordMacroRun($oWordApp, "MacroTestByRef", $vArg)
|
|---|
| 20 | _WordQuit($oWordApp, 0)
|
|---|
| 21 | ConsoleWrite($vArg & @CR)
|
|---|
| 22 |
|
|---|
| 23 | Func __WordMacroRun(ByRef $o_object, $s_MacroName, ByRef $v_Arg1)
|
|---|
| 24 | $o_object.Run($s_MacroName, $v_Arg1)
|
|---|
| 25 | EndFunc ;==>__WordMacroRun
|
|---|