![]() |
#1
|
|||
|
|||
![]()
I found this thread, but can't figure out two things.
1) How to edit this code for only one additional entry 2) How to know the index number of a control In the first dropdown, there are only be two variables: 150.7 and 185 If 150.7 is selected, I want the other dropdown to read 1.077 If 185 is selected, I need the other dropdown to read 1.044 I have set the first dropdown with the display name as 150.7 and the value as 1.077, but can't figure out adjusting the code below to not need the Replace part. I'm using content control instead of form fields because I read they don't play well together. Also, there are many other content controls on this doc. The code runs fine with the loop, but not really needing the loop and figuring out the index of the content control. Code:
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean) Dim i As Long, StrDetails As String With ContentControl If .Title = "Client" Then For i = 1 To .DropdownListEntries.Count If .DropdownListEntries(i).Text = .Range.Text Then StrDetails = Replace(.DropdownListEntries(i).Value, "|", Chr(11)) Exit For End If Next ActiveDocument.ContentControls(2).Range.Text = StrDetails End If End With End Sub |
#2
|
||||
|
||||
![]() Quote:
StrDetails = Replace(.DropdownListEntries(i).Value, "|", Chr(11)) as is and not have any | separators, or change it to: StrDetails = .DropdownListEntries(i).Value Later in the same thread (https://www.msofficeforums.com/word-...html#post68709) there is advice on how to reference a content control via its title rather than its index #. If you really want to know the index #, select the content control and run: Code:
Sub GetIndex() MsgBox ActiveDocument.Range(0, Selection.Range.End).ContentControls.Count End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
|||
|
|||
![]()
Thanks Paul and sorry about posting in the wrong forum.
Since I have many different content controls in this one doc, I need to update the entire doc no matter what control is updated. I added the part in blue to the event below, but after the event fires, instead of the whole doc being selected, can I select maybe the cell below? The content control is in a table. What about if the user doesn't tab, but instead they just select some other cell? Code:
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean) Dim i As Long, StrDetails As String With ContentControl If .Title = "MyCC_MAF" Then For i = 1 To .DropdownListEntries.Count If .DropdownListEntries(i).Text = .Range.Text Then StrDetails = Replace(.DropdownListEntries(i).Value, "|", Chr(11)) Exit For End If Next ActiveDocument.ContentControls(2).Range.Text = StrDetails End If End With With Selection .WholeStory .Fields.Update End With End Sub |
#4
|
||||
|
||||
![]() Quote:
Quote:
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#5
|
|||
|
|||
![]()
There are multiple tables, each with content controls and calculated fields.
Each of those tables has a final calculated field which feeds a final overall calculated field in the very first table. If any content control is updated, it will affect that table, but also the overall calculated field. This Attachment 4 is just one section of a larger document. |
#6
|
||||
|
||||
![]()
For what you've attached, all you need for the macro is:
Code:
Private Sub Document_ContentControlOnExit(ByVal CCtrl As ContentControl, Cancel As Boolean) Dim i As Long, r As Long, c As Long, StrOLF As String With CCtrl If .Title = "MyCC_MAF" Then For i = 1 To .DropdownListEntries.Count If .DropdownListEntries(i).Text = .Range.Text Then StrOLF = .DropdownListEntries(i).Value Exit For End If Next With .Range.Cells(1) r = .RowIndex c = .ColumnIndex End With With .Range.Tables(1) .Cell(r, c + 1).Range.Text = StrOLF .Cell(r, c + 2).Range.Text = Format(StrOLF * CCtrl.Range.Text, "0.0") End With End If End With ActiveDocument.Fields.Update End Sub {=B6/MyMAF \# "0.00" } with: {=B6/SUM(MyTotalReq D2) \# "0.00"}
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#7
|
|||
|
|||
![]()
Thank again for your time and help.
|
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Content Control content deleted when re-uploading to SharePoint | Peterson | Word | 5 | 06-27-2018 08:13 PM |
![]() |
DEsh | Word VBA | 2 | 10-06-2017 08:23 PM |
![]() |
DougsGraphics | Word VBA | 2 | 06-24-2015 07:31 AM |
![]() |
BrainSlugs83 | Word Tables | 8 | 11-14-2013 03:06 AM |
![]() |
dumbass0101 | Word | 4 | 10-11-2012 07:50 AM |