Re: Strange MERGEFIELD insertion behaviour.....

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Robin Tucker (idontwanttobespammedanymore_at_reallyidont.com)
Date: 05/13/04

  • Next message: Robin Tucker: "Re: Strange MERGEFIELD insertion behaviour....."
    Date: Thu, 13 May 2004 16:33:28 +0100
    
    

    Doh!

    Thanks....

    "Word Heretic" <myfullname@tpg.com.au> wrote in message
    news:6mm6a09ca7n7i4vjv15936pr51jfvmvf3m@4ax.com...
    > G'day "Robin Tucker" <idontwanttobespammedanymore@reallyidont.com>,
    >
    > Ahhhh. You are inserting an empty field. Insert a Merge field and
    > include the extensions as the parm.
    >
    > Dim theText As String = "ASSET_Named_Tool" + "=" + theInfo
    > m_Application.Selection.Fields.Add( _
    > Range:=m_Application.Selection.Range, _
    > Type:=Word.WdFieldType.wdFieldMergeField, _
    > Text:=CType(theText,Object), _
    > PreserveFormatting:=True)
    >
    >
    > I'd be using & as the concat if available - it stops a few typing
    > problems. Also, I would have thought
    >
    > Word.WdFieldType.wdFieldMergeField
    >
    > would be
    >
    > m_Application.wdFieldMergeField
    >
    > But I dunno which language you are using.
    >
    > Steve Hudson - Word Heretic
    > Want a hyperlinked index? S/W R&D? See WordHeretic.com
    >
    > steve from wordheretic.com (Email replies require payment)
    >
    >
    > Robin Tucker reckoned:
    >
    > >Err, I included a code sample. Here it is again:
    > >
    > >Dim theInfo as String
    > >
    > >theInfo = "Camera Spot 1"
    > >Dim theText As String = "MERGEFIELD " + "ASSET_Named_Tool" + "=" +
    theInfo
    > >
    > >m_Application.Selection.Fields.Add(Range:=m_Application.Selection.Range,
    _
    > >
    > >Type:=Word.WdFieldType.wdFieldEmpty, _
    > >
    Text:=CType(theText,
    > >Object), _
    > >
    > >PreserveFormatting:=True)
    > >
    > >
    > >"Word Heretic" <myfullname@tpg.com.au> wrote in message
    > >news:48i5a05oe3f224327ug6m8semods0amjrq@4ax.com...
    > >> G'day "Robin Tucker" <idontwanttobespammedanymore@reallyidont.com>,
    > >>
    > >> Code sample please
    > >>
    > >>
    > >> Steve Hudson - Word Heretic
    > >> Want a hyperlinked index? S/W R&D? See WordHeretic.com
    > >>
    > >> steve from wordheretic.com (Email replies require payment)
    > >>
    > >>
    > >> Robin Tucker reckoned:
    > >>
    > >> >I'm trying to programmatically insert MERGEFIELD items into my
    document.
    > >> >They all seem to work ok, except those I need to add parameters to.
    For
    > >> >example, the following mergefield needs to be inserted:
    > >> >
    > >> >"MERGEFIELD ASSET_Named_Tool=Camera Spot 1"
    > >> >
    > >> >ie. I want a merge field included called "ASSET_Named_Tool=Camera Spot
    > >1".
    > >> >When I come to generate a report using this template, I can parse the
    > >> >mergefield and extract the value I need called "Camera Spot 1".
    Anyway,
    > >I
    > >> >digress. When I manually insert a mergefield using the add Field
    dialog,
    > >> >giving the field the name ASSET_Named_Tool=Camera Spot 1, the result
    is
    > >as
    > >> >expected (ie. I get the << >> brackets around the entire string).
    > >> >
    > >> >When I do the same thing programmatically, it "cuts off" the string at
    > >the
    > >> >end of "Camera". I guess because it isn't too keen on spaces in field
    > >names.
    > >> >However, if I right click on the newly inserted field and "Edit
    Field",
    > >then
    > >> >click ok when the edit field dialog is shown, the string seems to be
    > >changed
    > >> >to be correct!
    > >> >
    > >> >Summary:
    > >> >
    > >> >(1) Manual insertion produces correct result:
    > >> >«ASSET_Named_Tool=Camera Spot 1»
    > >> >(2) Programmatic insertion produces erroneous result:
    > >> >«ASSET_Named_Tool=Camera»
    > >> >(3) Programmatic insertion, followed by manual "Edit Field", produces
    > >> >correct result.
    > >> >
    > >> >Here is the code I'm using to add the field:
    > >> >
    > >> >Dim theInfo as String
    > >> >
    > >> >theInfo = "Camera Spot 1"
    > >> >Dim theText As String = "MERGEFIELD " + "ASSET_Named_Tool" + "=" +
    > >theInfo
    > >> >
    > >>
    >m_Application.Selection.Fields.Add(Range:=m_Application.Selection.Range,
    > >_
    > >> >
    > >> >Type:=Word.WdFieldType.wdFieldEmpty, _
    > >> >
    > >Text:=CType(theText,
    > >> >Object), _
    > >> >
    > >> >PreserveFormatting:=True)
    > >> >
    > >> >Thanks for any help you can give me.
    > >> >
    > >> >
    > >> >Robin
    > >> >
    > >>
    > >
    >


  • Next message: Robin Tucker: "Re: Strange MERGEFIELD insertion behaviour....."

    Relevant Pages

    • Re: Strange MERGEFIELD insertion behaviour.....
      ... Oh actually.....my code did include MERGEFIELD, but my example did not (I'm ... You are inserting an empty field. ... > Steve Hudson - Word Heretic ... >>Dim theInfo as String ...
      (microsoft.public.word.vba.general)
    • Re: Strange MERGEFIELD insertion behaviour.....
      ... Oh actually.....my code did include MERGEFIELD, but my example did not (I'm ... You are inserting an empty field. ... > Steve Hudson - Word Heretic ... >>Dim theInfo as String ...
      (microsoft.public.word.vba.beginners)
    • Re: Strange MERGEFIELD insertion behaviour.....
      ... You are inserting an empty field. ... > include the extensions as the parm. ... > Steve Hudson - Word Heretic ... >>Dim theInfo as String ...
      (microsoft.public.word.vba.general)