Tags: cods, document, documentproperties, field, linked, macro, microsoft, msdn, software, somebody, word

Bring Word 2003 to the front.

On Microsoft » Microsoft Word

13,306 words with 7 Comments; publish: Fri, 30 May 2008 21:44:00 GMT; (300171.88, « »)

I hope somebody can help me.

I have a document with field cods in it which are linked to the document

properties.

In the document I have put a macro which opens up the document properties

dialogue box to let you input the information, the fools it into updating all

of the field codes by printing page 0. Not elegant I know but I couldn't find

a command to update all of the field codes.

The code is:

Application.Dialogs(750).Show

Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _

wdPrintDocumentContent, Copies:=1, Pages:="0",

PageType:=wdPrintAllPages, _

ManualDuplexPrint:=False, Collate:=True, Background:=False,

PrintToFile:= _

False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _

PrintZoomPaperHeight:=0

The only problem is that once the macro has run, whether it is from within

the document or from a button on the toolbar, XP will send the document down

to the taskbar if it perceives that another open application has priority, or

was open first.

Is there a way around this ? I have tried everything I can think of i.e

"ActiveDocument.Activate", "ActiveDocument.BringToFront = True" but nothing

seems to work.

I hope somebody can help as it is driving me mad.

Thanks.

Skeddy.

All Comments

Leave a comment...

  • 7 Comments
    • If these are form fields, then provided they are not in the header/footer

      you can update them from doc properties by checking the calculate on exit

      check box of one of the fields. They will update when you tab out of the

      field.

      If this is not a protected form and you want to update docproperty fields

      then you can use the update macro used as an example at

      http://www.gmayor.com/installing_macro.htm

      If you want to update the fields by 'printing' then

      ActiveDocument.PrintPreview

      ActiveDocument.ClosePrintPreview

      will have the same effect.

      <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      Graham Mayor - Word MVP

      My web site www.gmayor.com

      Word MVP web site http://word.mvps.org

      <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      Skeddy wrote:

      > I hope somebody can help me.

      > I have a document with field cods in it which are linked to the

      > document properties.

      > In the document I have put a macro which opens up the document

      > properties dialogue box to let you input the information, the fools

      > it into updating all of the field codes by printing page 0. Not

      > elegant I know but I couldn't find a command to update all of the

      > field codes.

      > The code is:

      > Application.Dialogs(750).Show

      > Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages,

      > Item:= _ wdPrintDocumentContent, Copies:=1, Pages:="0",

      > PageType:=wdPrintAllPages, _

      > ManualDuplexPrint:=False, Collate:=True, Background:=False,

      > PrintToFile:= _

      > False, PrintZoomColumn:=0, PrintZoomRow:=0,

      > PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0

      > The only problem is that once the macro has run, whether it is from

      > within the document or from a button on the toolbar, XP will send the

      > document down to the taskbar if it perceives that another open

      > application has priority, or was open first.

      > Is there a way around this ? I have tried everything I can think of

      > i.e "ActiveDocument.Activate", "ActiveDocument.BringToFront = True"

      > but nothing seems to work.

      > I hope somebody can help as it is driving me mad.

      > Thanks.

      > Skeddy.

      #1; Fri, 30 May 2008 21:45:00 GMT
    • Graham,

      Thanks for the print preview idea, that is better as I now dont get the

      document sent to printer dialog. I have to use thsi as some of the fields are

      in the header and footer.

      Unfortunately the problem of the document being snt to the back persists. As

      soon as the macro ends XP, or Word puts the document behind the last window

      opened.

      Is there any way around this ?

      Regards,

      Skeddy.

      "Graham Mayor" wrote:

      > If these are form fields, then provided they are not in the header/footer

      > you can update them from doc properties by checking the calculate on exit

      > check box of one of the fields. They will update when you tab out of the

      > field.

      > If this is not a protected form and you want to update docproperty fields

      > then you can use the update macro used as an example at

      > http://www.gmayor.com/installing_macro.htm

      > If you want to update the fields by 'printing' then

      > ActiveDocument.PrintPreview

      > ActiveDocument.ClosePrintPreview

      > will have the same effect.

      > --

      > <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      > Graham Mayor - Word MVP

      > My web site www.gmayor.com

      > Word MVP web site http://word.mvps.org

      > <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      >

      > Skeddy wrote:

      >

      >

      #2; Fri, 30 May 2008 21:46:00 GMT
    • Without seeing your code it is difficult to see what it is doing.

      However you should call the document you want to activate eg

      Dim dSource As Document, dTarget As Document

      Dim sFname as String

      sFname = "C:\Path\Docname.doc"

      Set dSource = ActiveDocument

      Set dTarget = Documents.Open(sFname)

      'Do your stuff

      dSource.Activate

      <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      Graham Mayor - Word MVP

      My web site www.gmayor.com

      Word MVP web site http://word.mvps.org

      <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      Skeddy wrote:[vbcol=seagreen]

      > Graham,

      > Thanks for the print preview idea, that is better as I now dont get

      > the document sent to printer dialog. I have to use thsi as some of

      > the fields are in the header and footer.

      > Unfortunately the problem of the document being snt to the back

      > persists. As soon as the macro ends XP, or Word puts the document

      > behind the last window opened.

      > Is there any way around this ?

      > Regards,

      > Skeddy.

      > "Graham Mayor" wrote:

      #3; Fri, 30 May 2008 21:47:00 GMT
    • Graham,

      Thanks your reply, both tricks wok with the update field codes (I do have

      some in the header and footers).

      I am still stuck with Word being relegated to the background porblem though,

      even if I use either print preview or the update fields macro.

      Any Ideas or is it a "feature" of XP ?

      Regards,

      Skeddy.

      "Graham Mayor" wrote:

      > If these are form fields, then provided they are not in the header/footer

      > you can update them from doc properties by checking the calculate on exit

      > check box of one of the fields. They will update when you tab out of the

      > field.

      > If this is not a protected form and you want to update docproperty fields

      > then you can use the update macro used as an example at

      > http://www.gmayor.com/installing_macro.htm

      > If you want to update the fields by 'printing' then

      > ActiveDocument.PrintPreview

      > ActiveDocument.ClosePrintPreview

      > will have the same effect.

      > --

      > <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      > Graham Mayor - Word MVP

      > My web site www.gmayor.com

      > Word MVP web site http://word.mvps.org

      > <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      >

      > Skeddy wrote:

      >

      >

      #4; Fri, 30 May 2008 21:48:00 GMT
    • Graham,

      Sorry about the last one my screen had not updated.

      Anyway all the code is is:

      Application.Dialogs(750).Show

      ActiveDocument.PrintPreview

      ActiveDocument.ClosePrintPreview

      There is no more to it, I'm not clever enough for anyhting fancy I

      cannot understand why the current document is moved to behind whichever

      window XP perceives has priority.

      Any ideas ?

      Best regards,

      Keith.

      "Graham Mayor" wrote:

      > Without seeing your code it is difficult to see what it is doing.

      > However you should call the document you want to activate eg

      > Dim dSource As Document, dTarget As Document

      > Dim sFname as String

      > sFname = "C:\Path\Docname.doc"

      > Set dSource = ActiveDocument

      > Set dTarget = Documents.Open(sFname)

      > 'Do your stuff

      > dSource.Activate

      >

      > --

      > <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      > Graham Mayor - Word MVP

      > My web site www.gmayor.com

      > Word MVP web site http://word.mvps.org

      > <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      >

      > Skeddy wrote:

      >

      >

      #5; Fri, 30 May 2008 21:49:00 GMT
    • It happens here to, but is easily fixed

      On Error Resume Next

      With Application

      ..Dialogs(750).Show

      With ActiveDocument

      .PrintPreview

      .ClosePrintPreview

      End With

      .WindowState = wdWindowStateMinimize

      .WindowState = wdWindowStateNormal

      End With

      This minimizes the application than restores it again which brings it to the

      front.

      <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      Graham Mayor - Word MVP

      My web site www.gmayor.com

      Word MVP web site http://word.mvps.org

      <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      Skeddy wrote:[vbcol=seagreen]

      > Graham,

      > Sorry about the last one my screen had not updated.

      > Anyway all the code is is:

      > Application.Dialogs(750).Show

      > ActiveDocument.PrintPreview

      > ActiveDocument.ClosePrintPreview

      > There is no more to it, I'm not clever enough for anyhting fancy I

      > cannot understand why the current document is moved to behind

      > whichever window XP perceives has priority.

      > Any ideas ?

      > Best regards,

      > Keith.

      >

      > "Graham Mayor" wrote:

      #6; Fri, 30 May 2008 21:50:00 GMT
    • Graham, you are a hero.

      Thank you very much, it was the "windowstate" commands I needed.

      Works like a charm now.

      Best regards,

      Skeddy.

      "Graham Mayor" wrote:

      > It happens here to, but is easily fixed

      > On Error Resume Next

      > With Application

      > ..Dialogs(750).Show

      > With ActiveDocument

      > .PrintPreview

      > .ClosePrintPreview

      > End With

      > .WindowState = wdWindowStateMinimize

      > .WindowState = wdWindowStateNormal

      > End With

      > This minimizes the application than restores it again which brings it to the

      > front.

      > --

      > <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      > Graham Mayor - Word MVP

      > My web site www.gmayor.com

      > Word MVP web site http://word.mvps.org

      > <>>< ><<> ><<> <>>< ><<> <>>< <>><<>

      >

      > Skeddy wrote:

      >

      >

      #7; Fri, 30 May 2008 21:51:00 GMT