![]() |
|
#1
|
|||
|
|||
![]()
Paul,
This is a very long thread. Perhaps I've shared this with you before but not sure. Have you considered mapping the two controls in your example file (post #2). If you do, your code is reduced to: Code:
Private Sub Document_ContentControlBeforeContentUpdate(ByVal ContentControl As ContentControl, Content As String) With ContentControl If .Title = "Client" Then .XMLMapping.CustomXMLPart.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:ClientDetails[1]").Text = _ Replace(.XMLMapping.CustomXMLPart.SelectSingleNode("/ns0:CC_Map_Root[1]/ns0:Client[1]").Text, "|", vbCr) End If End With lbl_Exit: Exit Sub End Sub with no requirement to exit the Client CC |
#2
|
|||
|
|||
![]()
Hi, I'm kinda new to macros on word. So, I managed to do a two-level dependent dropdown list with contentcontrol boxes. I want to make third level but this one is autopopulated. I saw the method with values, but because it's a dependent dropdown list there are no values for the second level. I've looked through all posts on this thread but it seems there's no answer for what I need.
I would really be thankful if someone can help me. This is the code I've got so far, what I want is that after I select the second dropdown another control content box gets filled on its own with a set value. Let's say I select Quote:
Code:
Case "Se comunica oralmente en inglés como lengua extranjera" StrOut = "Obtiene información de textos orales;Infiere e interpreta información de textos orales;Adecúa, organiza y desarrolla las ideas de forma coherente y cohesionada;Utiliza recursos no verbales y paraverbales de forma estratégica;Interactúa estratégicamente con distintos interlocutores;Reflexiona y evalúa la forma, el contenido y el contexto del texto oral" Code:
Option Explicit Dim StrOption As String Private Sub Document_ContentControlOnEnter(ByVal CCtrl As ContentControl) StrOption = CCtrl.Range.Text End Sub Private Sub Document_ContentControlOnExit(ByVal CCtrl As ContentControl, Cancel As Boolean) Application.ScreenUpdating = False Dim i As Long, StrOut As String With CCtrl If .Title = "Competencias" Then If StrOption = .Range.Text Then Exit Sub Select Case .Range.Text Case "Se comunica oralmente en inglés como lengua extranjera" StrOut = "Obtiene información de textos orales;Infiere e interpreta información de textos orales;Adecúa, organiza y desarrolla las ideas de forma coherente y cohesionada;Utiliza recursos no verbales y paraverbales de forma estratégica;Interactúa estratégicamente con distintos interlocutores;Reflexiona y evalúa la forma, el contenido y el contexto del texto oral" Case "Lee diversos tipos de textos en inglés como lengua extranjera" StrOut = "Obtiene información del texto escrito;Infiere e interpreta información del texto escrito;Reflexiona y evalúa la forma, el contenido y contexto del texto" Case "Escribe diversos tipos de textos en inglés como lengua extranjera" StrOut = "Adecúa el texto a la situación comunicativa;Organiza y desarrolla las ideas de forma coherente y cohesionada;Utiliza convenciones del lenguaje escrito de forma pertinente;Reflexiona y evalúa la forma, el contenido y contexto del texto escrito" Case Else .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End Select With ActiveDocument.SelectContentControlsByTitle("Capacidades")(1) .DropdownListEntries.Clear .DropdownListEntries.Add .PlaceholderText For i = 0 To UBound(Split(StrOut, ";")) .DropdownListEntries.Add Split(StrOut, ";")(i) Next .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End With With ActiveDocument.SelectContentControlsByTitle("Capacidades2")(1) .DropdownListEntries.Clear .DropdownListEntries.Add .PlaceholderText For i = 0 To UBound(Split(StrOut, ";")) .DropdownListEntries.Add Split(StrOut, ";")(i) Next .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End With With ActiveDocument.SelectContentControlsByTitle("Capacidades3")(1) .DropdownListEntries.Clear .DropdownListEntries.Add .PlaceholderText For i = 0 To UBound(Split(StrOut, ";")) .DropdownListEntries.Add Split(StrOut, ";")(i) Next .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End With With ActiveDocument.SelectContentControlsByTitle("Capacidades4")(1) .DropdownListEntries.Clear .DropdownListEntries.Add .PlaceholderText For i = 0 To UBound(Split(StrOut, ";")) .DropdownListEntries.Add Split(StrOut, ";")(i) Next .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End With End If If .Title = "Competencias2" Then If StrOption = .Range.Text Then Exit Sub Select Case .Range.Text Case "Se comunica oralmente en inglés como lengua extranjera" StrOut = "Obtiene información de textos orales;Infiere e interpreta información de textos orales;Adecúa, organiza y desarrolla las ideas de forma coherente y cohesionada;Utiliza recursos no verbales y paraverbales de forma estratégica;Interactúa estratégicamente con distintos interlocutores;Reflexiona y evalúa la forma, el contenido y el contexto del texto oral" Case "Lee diversos tipos de textos en inglés como lengua extranjera" StrOut = "Obtiene información del texto escrito;Infiere e interpreta información del texto escrito;Reflexiona y evalúa la forma, el contenido y contexto del texto" Case "Escribe diversos tipos de textos en inglés como lengua extranjera" StrOut = "Adecúa el texto a la situación comunicativa;Organiza y desarrolla las ideas de forma coherente y cohesionada;Utiliza convenciones del lenguaje escrito de forma pertinente;Reflexiona y evalúa la forma, el contenido y contexto del texto escrito" Case Else .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End Select With ActiveDocument.SelectContentControlsByTitle("Capacidades5")(1) .DropdownListEntries.Clear .DropdownListEntries.Add .PlaceholderText For i = 0 To UBound(Split(StrOut, ";")) .DropdownListEntries.Add Split(StrOut, ";")(i) Next .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End With With ActiveDocument.SelectContentControlsByTitle("Capacidades6")(1) .DropdownListEntries.Clear .DropdownListEntries.Add .PlaceholderText For i = 0 To UBound(Split(StrOut, ";")) .DropdownListEntries.Add Split(StrOut, ";")(i) Next .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End With With ActiveDocument.SelectContentControlsByTitle("Capacidades7")(1) .DropdownListEntries.Clear .DropdownListEntries.Add .PlaceholderText For i = 0 To UBound(Split(StrOut, ";")) .DropdownListEntries.Add Split(StrOut, ";")(i) Next .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End With With ActiveDocument.SelectContentControlsByTitle("Capacidades8")(1) .DropdownListEntries.Clear .DropdownListEntries.Add .PlaceholderText For i = 0 To UBound(Split(StrOut, ";")) .DropdownListEntries.Add Split(StrOut, ";")(i) Next .Type = wdContentControlText .Range.Text = "" .Type = wdContentControlDropdownList End With End If End With Application.ScreenUpdating = True End Sub |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
dudeabides | Office | 1 | 07-04-2011 02:49 AM |
Multiple task lists and multiple calendars | kballing | Outlook | 0 | 01-18-2011 10:23 AM |
Creating Multiple Contact Lists | meltee78 | Outlook | 1 | 01-03-2011 09:45 PM |
multiple calendar entries across a group | halfhearted | Outlook | 0 | 10-11-2009 12:13 PM |
Word Forms : Dropdown lists | wferaera45 | Word | 0 | 04-06-2006 03:02 AM |