0
votes

I have this code. Is intended to compare the first paragraph into a table's cell, and then do something with the rest of the paragraphs inside the cell

Sub Preguntas()
Dim Tbl As Table, Cl As Cell, tipo As Integer, para As Paragraph, contador As Integer, textop As String, textor As String, aux As String
Dim switchm As String

   For Each Tbl In ActiveDocument.Tables
      For Each Cl In Tbl.Range.Cells
        'Variables a 0
        tipo = 0
        contador = 0
        textop = ""
        textor = ""
        switchm = "</div><div class=""arrastrable palabra2"">"
        'Andamos loas párrafos dentro de la celda
        For Each para In Cl.Range.Paragraphs

         <---------- THIS COMPARISON RETURNS ME ALWAYS FALSE-------->
           If para.Range.Text = "RELACIONAR " Then
                    tipo = 3
                Else
                        If para.Range.Text = "ARRASTRAR " Then
                            tipo = 2
                        Else
                            If para.Range.Text = "MANZANA-GUSANO " Then
                                tipo = 1

                            End If
                        End If
            End If
           <-----------------------END OF COMPARISON------------------->
            Select Case tipo
                Case 1
                    'Cogemos el párrafo como texto en aux
                    aux = para.Range.Text
                    'Realizarmos la llamada a Arrastra--USAMOS CALL PARA LLAMAR A PROCEDIMIENTOS QUE NO SEAN FUNCIONES
                    Call Manzana(textop, aux, contador)
                    'Incrementamos el contador
                    contador = contador + 1
                Case 2
                    'Cogemos el párrafo como texto en aux
                    aux = para.Range.Text
                    'Realizarmos la llamada a Arrastra--USAMOS CALL PARA LLAMAR A PROCEDIMIENTOS QUE NO SEAN FUNCIONES
                    Call Arrastra(textop, textor, aux, contador, switchm)
                    'Incrementamos el contador
                    contador = contador + 1
                Case 3
                    'Cogemos el párrafo como texto en aux
                    aux = para.Range.Text
                    'Realizarmos la llamada a Arrastra--USAMOS CALL PARA LLAMAR A PROCEDIMIENTOS QUE NO SEAN FUNCIONES
                    Call Relaciona(textop, textor, aux, contador)
                    'Incrementamos el contador
                    contador = contador + 1
            End Select

            Next para
            'El texto de la celda lo cambiamos al transformado
                Cl.Range.Text = textop + textor
                'Volvemos el contador a 0
                contador = 0
                'Volvemos el tipo a 0
                tipo = 0
           'Fin párrafos celdas
      Next Cl
   Next Tbl
End Sub

'Funcion ARRASTRAR a HTML
Sub Arrastra(textop As String, textor As String, ByVal aux As String, ByVal contador As Integer, switchm As String)
    Select Case contador
        Case 0
            textop = "<div class=""ejercicio_arrastrar""><div class=""comenzar_ejercicio_arrastrar"">Comenzar Actividad</div><div class=""content""><div class=""num_palabras_correctas""></div><span class=""texto_arrastra"">"
        Case 1
            textop = textop + aux + "</span><div class=""columnas""><div class=""parrafo palabra1""><div class=""texto"">"
        Case 2
            textop = textop + aux + "</div><div class=""suelta"" id=""sueltapalabra1""> arrastra...</div></div><div class=""parrafo palabra2""><div class=""texto"">"
        Case 3
            textor = textor + "<div class=""columna_der""><div class=""arrastrable palabra1"">" + aux
        Case 4
            textop = textop + aux + "</div><div class=""suelta"" id=""sueltapalabra2""> arrastra...</div></div><div class=""parrafo palabra3""><div class=""texto"">"
        Case 5
            switchm = switchm + aux + "</div></div><div class=""clear""></div><div class=""controls""><div class=""mensaje_feedback""></div><div class=""boton"">Comprobar</div></div></div></div>"
        Case 6
            textop = textop + aux + "</div><div class=""suelta"" id=""sueltapalabra3""> arrastra...</div></div></div>"
        Case 7
            textor = textor + "</div><div class=""arrastrable palabra3"">" + aux + switchm
    End Select

End Sub
'Funcion RELACIONA a HTML
Sub Relaciona(textop As String, textor As String, ByVal aux As String, ByVal contador As Integer)
    Select Case contador
        Case 0
            textop = "<div class=""ejercicio_unir""><div class=""comenzar_ejercicio"">Comenzar Actividad</div><div class=""content""><span class=""texto_arrastra"">"
        Case 1
            textop = textop + aux + "</span><!--------------- COLUMNA IZQUIERDA  --------------><div class=""columna_izq""><!--------------- Frase  --------------><div class=""frases""><div class=""texto""><span>"
        Case 2
            textor = textor + aux + "</span></div><div class=""clear""></div></div></div><div class=""clear""></div><div class=""controls""><div class=""mensaje_feedback""></div><div class=""boton"">Comprobar</div></div></div></div>"
        Case 3
            textop = textop + aux + "</span></div><div class=""cuadros""><input type=""text"" readonly=""readonly"" value=""1"" class=""pregunta match1""></div><div class=""clear""></div></div><!--------------- Frase  --------------><div class=""frases""><div class=""texto""><span>"
        Case 4
            textor = "<!--------------------- COLUMNA DERECHA  --------------------><div class=""columna_der""><!--------------- Frase  --------------><div class=""frases""><div class=""cuadros""><input type=""text"" class=""respuesta match2""></div><div class=""texto""><span>" + aux + "</span></div><div class=""clear""></div></div><!--------------- Frase  --------------><div class=""frases""><div class=""cuadros""><input type=""text"" class=""respuesta match1""></div><div class=""texto""><span>" + textor
        Case 5
            textop = textop + aux + "</span></div><div class=""cuadros""><input type=""text"" readonly=""readonly"" value=""2"" class=""pregunta match2""></div><div class=""clear""></div></div></div>"
    End Select
End Sub
'Funcion MANZANA-GUSANO a HTML
Sub Manzana(textop As String, ByVal aux As String, ByVal contador As Integer)
    Select Case contador
    Case 0
        textop = "<b>Arrastra la solución correcta al cubo</b><div class=""ee_logo""></div><div class=""ee_pregunta_arrastrar""><div class=""ee_enunciado""><b>"
    Case 1
        textop = textop + aux + "</b></div><div class=""ee_respuesta"">"
    Case 2
        textop = textop + aux + "</div><div class=""ee_respuesta ee_correcta"">"
    Case 3
        textop = textop + aux + "</b></div><div class=""ee_respuesta"">"
    Case 4
        textop = textop + aux + "</b></div><div class=""ee_feedback"">"
    Case 5
        textop = textop + aux + "</div></div>"
End Sub

The first paragraph(copypasted) from one of the cells is "ARRASTRAR ", so they should be true in some moment, but it's always false

Does Someone know why?

1

1 Answers

0
votes

Solved. para.Range.Text comes with a weird character at the end, which resembles to an space but it isn't

So I did MID(para.Range.Text,1,Len(para.range.text)-2) for removing the last 2 characters(CR and LF I think). This way you only compare the phrase or word