Passerer en datafil navn via kommandolinjen til en makro

May 28  by Eliza

Grace er å skape et Word-makro som utfører en utskriftsfletting. Hun ønsker å starte Word fra kommandolinjen og ha det kjøre denne makroen, som hun vet hvordan de skal gjøre. Hva hun prøver å finne ut er hvordan, på samme kommandolinjen, for å passere en datafil navn som kan nås av makroen for senere bruk.

En kommando kom inn på operativsystemets kommandolinje kan inkludere parametre; dette skjer hele tiden. Disse parametrene kan da nås ved koding av kommandoen blir utført. Problemet er at når du starter Word på kommandolinjen, er noen parametre som brukes (eller forsøkt å brukes) av Word selv. Du trenger en måte for Word til å anerkjenne at disse parametrene er for en makro og deretter sende dem videre til makroen. Denne "gjenkjenne og formidle" oppførsel er ikke en som er innebygd i Word.

Som blir sagt, er det noen ting du kan gjøre for å komme rundt denne begrensningen, men alle involverer arbeider utenfor Word, ved en Windows API-nivå. Dette er ganske avanserte ting, og noen forslag til hvordan du skal gå om det kan finnes på disse nettstedene:

http://vb.mvps.org/samples/CmdLine/
http://msdn.microsoft.com/en-us/library/ms178843.aspx

En enklere tilnærming kan være å bare gjøre noen endringer i makro som kjøres når Word startes. Makroen kan for eksempel vise et InputBox å be brukeren om å angi et filnavn. Tilsvarende makro kunne vise en dialogboksen Åpne og tillater brukeren å velge filen som skal behandles. Til slutt, hvis filnavnet er standardisert (mao det er alltid den samme og endrer ikke), kan du direkte kode filnavnet inn i makro.

WordTips er din kilde for kostnadseffektiv Microsoft Word trening. (Microsoft Word er den mest populære tekstbehandlingsprogrammet i verden.) Dette tipset (13068) gjelder for Microsoft Word 2007, 2010, og 2013.