Shauna
Fri Jan 11 16:40:35 PST 2008
Hi Fred
You might need to create a shortcut explicitly and use that. One way to
do that is to right-click the desktop and choose New > Shortcut. Browse
to your winword.exe file. After you create the shortcut, right-click it
and choose its Properties, then change the target to something like"
"C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"
/mNameOfMacroToRun
Note the position of quote marks and spaces carefully.
Hope this helps.
Shauna Kelly. Microsoft MVP.
http://www.shaunakelly.com/word
"Fred Kruger" <FredKruger@discussions.microsoft.com> wrote in message
news:E4EFA71E-BC1E-4FAA-8DF4-078E3DDAAD4A@microsoft.com...
> Shauna
>
> Thanks for this this was what I was looking for but dont undertand
> where in
> the icon to put the switch as if I put it after the winword.exe in the
> icon
> properties target i.e "C:\Program Files\Microsoft
> Office\Office\WINWORD.EXE"
> (office97) it throws an error message up.
>
> I cannot find where to put it in the office 11 icon.
>
> Can you give me an idiots guide my startup.dot is called
> nichestart.dot
> which has a sub routine called menuload in a module named general. I
> am
> loading my menu from menuload as an add in template is this the best
> way?
>
> Thanks for anticipation.
>
> Fred
>
> "Shauna Kelly" wrote:
>
>> Hi Fred
>>
>> As I understand it, you want a way to let other applications start
>> Word
>> without loading your code, and you want users to start Word so that
>> it
>> does load your code.
>>
>> One way to do this might be as follows:
>>
>> 1. Create a .dot file that contains the code you want to load. Let's
>> say
>> this is called "AllMyCode.dot". Store this in a known location, but
>> not
>> in the Word Startup folder.
>>
>> 2. Create a second .dot file and put it in the Word startup folder.
>> This
>> ..dot file is called, say, "MyStartupFile.dot". It contains one macro
>> called, say "LoadMyStuff". This macro loads "AllMyCode.dot".
>>
>> 3. Change the shortcuts that users click to start Word by adding the
>> /mmacroname switch, eg winword.exe /mLoadMyStuff.
>>
>> In all cases, MyStartupFile.dot will load, but it is tiny and will
>> not
>> slow down the other apps that use Word. But when the user clicks the
>> shortcut, it will invoke the one macro in MyStartupFile.dot and it
>> can
>> load your addin.
>>
>> Hope this helps.
>>
>> Shauna Kelly. Microsoft MVP.
>>
http://www.shaunakelly.com/word
>>
>>
>>
>>
>> "Fred Kruger" <FredKruger@discussions.microsoft.com> wrote in message
>> news:611120BB-60D9-4A8E-B4AA-314803EDD7EA@microsoft.com...
>> >I would like to know if it is posible to determine if how word has
>> >been
>> > started.
>> >
>> > I have been tiraling running word across a network when it normally
>> > starts
>> > it loads a global template which carries all the sub routines
>> > needed
>> > to do
>> > various things built into forms that are produced.
>> >
>> > However other programs also use word as as a front end for
>> > doucuments
>> > they
>> > contain within them, but because when the load word it takes an
>> > long
>> > time
>> > because it is loading all the routines etc from the globally loaded
>> > template.
>> >
>> > So here is what I would like to do if posible.
>> >
>> > if word is opened by one of these other programs other than by the
>> > icon word
>> > doesnt load the template if however its not opened.
>> >
>> > I have used the following to determine if open by the icon
>> >
>> > Sub iconstart()
>> > '
>> > 'checks to see how word has been launched
>> > '
>> > Dim strCommandLine As String
>> > 'get the commandline by calling the CmdLinetoString function,
>> > which
>> > follows
>> > strCommandLine = CmdLinetoString(GetCommandLine())
>> >
>> > If Len(strCommandLine) <= Len(Chr(34) & Application.Path & _
>> > "\" & "winword.exe" & Chr(34) & " ") Then
>> > 'Following only runs if Word was launched from its icon
>> > ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
>> > 'closes
>> > document without saving
>> > End If
>> > 'End If
>> > End Sub
>> >
>> >
>> >
>> >
>> > Public Function CmdLinetoString(ByVal lngPtr As Long) As String
>> > Dim strReturn As String
>> > Dim StringLength As Long
>> > 'get the length of the string (not including the terminating
>> > null
>> > character)
>> > StringLength = lstrlen(lngPtr)
>> > 'initialize our string so it has enough characters including the
>> > null
>> > character
>> > strReturn = String$(StringLength + 1, 0)
>> > 'copy the string we have a pointer to into our new string
>> > lstrcpy strReturn, lngPtr
>> > 'now strip off the null character at the end
>> > strReturn = Left$(strReturn, StringLength)
>> > 'return the string
>> > CmdLinetoString = strReturn
>> > End Function
>> >
>> >
>> > but is there a way of determining which program has opened
>> > word?????
>> >
>> > I am using word 2003
>> >
>> > Thanks in anticipation
>>
>>
>>