Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #7  
Old 06-27-2014, 11:14 PM
macropod's Avatar
macropod macropod is offline Calculate Age From Content Controls Windows 7 32bit Calculate Age From Content Controls Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,467
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Try:
Code:
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim StrAgeRng As String
With ContentControl
  Select Case .Title
    Case "HomePhone", "CellPhone", "WorkPhone", "OtherRefererPhone", _
      "GuardianPhone", "EmergencyContactPhone", "PhysicianPhone"
      If Not .Range.Text Like "(###) ###(-)####" Then .Range.Text = Format(.Range.Text, "(###) ###-####")
    Case "PHN"
      If Not .Range.Text Like "#####(-)####" Then .Range.Text = Format(.Range.Text, "#####-####")
  Case "ApptTimeTop"
    If Not Trim(.Range.Text) Like "#########" Then .Range.Text = Format(.Range.Text, "@ #########")
  Case "DateOfBirth"
    If IsDate(ContentControl.Range.Text) Then
      ContentControl.Range.Tables(1).Cell(6, 1).Range.Paragraphs.Last.Range.Text = _
        Int(DateDiff("m", CDate(.Range.Text), Now) / 12) & ":" & DateDiff("m", CDate(.Range.Text), Now) Mod 12
      Select Case Int(DateDiff("m", CDate(.Range.Text), Now) / 12)
        Case Is < 0 > 120
          StrAgeRng = "Invalid date of birth entry!"
        Case 0 To 16
          StrAgeRng = "Children - Under 16"
        Case 16 To 24
          StrAgeRng = "Transitional Youth - 16 to 24"
        Case 25 To 64
          StrAgeRng = "Adults - 25 to 64"
        Case 64 To 119
          StrAgeRng = "Seniors - 65+"
      End Select
      ContentControl.Range.Tables(1).Cell(6, 3).Range.Paragraphs.Last.Range.Text = StrAgeRng
    End If
  End Select
End With
End Sub
Note: I've added some extra checking to prevent your phone data etc. being reformatted over and over.
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote
 

Tags
age;content control



Similar Threads
Thread Thread Starter Forum Replies Last Post
Calculate Age From Content Controls VBA to set Content controls as non printing Sammie0Sue Word VBA 21 01-12-2021 04:44 PM
Content Controls in Headers ejungk99 Word 2 06-16-2014 04:02 PM
Calculate Age From Content Controls Updating an old form with Content Controls Something Anon Word 4 03-26-2014 03:53 PM
Calculate Age From Content Controls Content Controls Sammie0Sue Word 6 11-06-2013 10:56 PM
Calculate Age From Content Controls Grouping Content Controls cksm4 Word VBA 2 03-01-2011 12:46 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 03:19 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft