Word is Mind Numbingly Infuriating

Microsoft Word is a mind numbingly infuriating torture device from hell! Why would anyone want to subject themselves to this soul devouring, rage inducing piece of shit is beyond me… :evil:

Can someone please explain to me why is the {PAGE} field resets after each section break? Or rather after some section breaks but not the others… I’m working on a document template which has multiple multi-column section and perhaps 10 section breaks in total. But the page count resets only 3 times. It also has macros that import tables from excel, and bunch of other things…

I spent several hours today trying to find a way to get the damn thing to work properly and display absolute page numbers throughout the document. In the end I elected to use a dirty hack. The first time around when my page count resets I simply used:

{= {PAGE} - {PAGEREF Section8}}

Then the second time around I used:

{= {PAGE} - {PAGEREF Section8} + 1}

And finally:

{= {PAGE} - {PAGEREF Section8} + {PAGEREF Section8} +1}

In the above examples Section8 and Section9 are invisible bookmarks placed just before the last section break in the previous section.

Why on God’s green earth would anyone ever want to do something as complex and frustratingly difficult to manage? How come word has no problem keeping absolute page count in the status bar, but provides no functionality to display it on the page?

Or perhaps I’m missing something really obvious here?

Either way, I hate Word with passion. Doing anything substantial in it is such a painful ordeal. This is why I write most of my papers in LaTex.

[tags]word, microsoft, word processing, paging, page numbers, word numbering[/tags]

This entry was posted in technology and tagged . Bookmark the permalink.



4 Responses to Word is Mind Numbingly Infuriating

  1. hdw UNITED STATES Mozilla Firefox Windows says:

    I don’t have an answer, but you have my sympathy. I hate MS Word.

    Reply  |  Quote
  2. jambarama UNITED STATES Mozilla Firefox Ubuntu Linux Terminalist says:

    Yeah, you have my sympathy too. I did end-user support at my college library, most of that was Word, and Adobe Acrobat Pro – both of which I think are possibly the worst designed applications ever. I was always thrilled to get an excel question!

    Anyhow, we saw that a lot. It could be fixed sometimes by just fiddling (removing the section breaks, entering new/additional ones and new types, copying and pasting the document into a blank one). Sometimes we could even fix it by putting the document in OO.org, then copy/paste back into MS Word (or save the doc in OO.org and open with Word).

    Section breaks gave us some of the biggest problems.

    BTW, you have a really terrific blog. Everything (short of the anime stuff) is interesting to me, and often issues I’ve wrangled with myself. Thanks, and keep up the good work!

    Reply  |  Quote
  3. Luke Maciak UNITED STATES Mozilla Firefox Windows says:

    Yeah. Nowadays I just remove all breaks from the documents, and re-insert them as needed. That’s the only thing that really works.

    The solution above tends to give unexpected results if someone deletes a section break by accident. The page numbers then go out of order again, and it becomes progressively harder and harder to fix once the document goes through review process (each person breaks it in their own unique way).

    Anyway, thanks! :)

    Reply  |  Quote
  4. Come To Help UNITED STATES Internet Explorer Windows says:

    Enjoyed the rant.

    VBA the only way, Young Luke.

    If you’re still out there, haven’t already found a solution, try this.

    In MS Word, Tools/Macro/VB Editor, then open the Immediate Window (View/) in the VB Window. In VB Window, View/Code, then paste the code included further below. Run/Run Sub, results should show in the Immediate Window. You’ll have to take it from there -

    Sub AbsolutePageNos()

    Dim aPage As Page
    Dim intSectionCurr As Integer
    Dim intSectionPrev As Integer
    Dim intPageDocument As Integer
    Dim intPageSection As Integer
    Dim intI As Integer

    intI = 0
    intSectionPrev = 0
    intPageSection = 1

    For Each aPage In ActiveDocument.ActiveWindow.Panes(1).Pages

    intPageDocument = aPage.Breaks(1).Range.Information(wdActiveEndPageNumber)
    intSectionCurr = aPage.Breaks(1).Range.Information(wdActiveEndSectionNumber)

    If intSectionCurr = intSectionPrev Then
    intPageSection = intPageSection + 1
    Else
    intPageSection = 1
    End If

    Debug.Print “Pg” & intPageDocument & “:” & _
    intPageSection & _
    “>Section” & intSectionCurr; “”

    intSectionPrev = intSectionCurr

    Next aPage

    End Sub

    Reply  |  Quote

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>