¿Hay una manera de establecer la configuración de búsqueda de MS Office (2003) para caracteres no ingleses

StackOverflow https://stackoverflow.com/questions/1781538

  •  21-09-2019
  •  | 
  •  

Pregunta

dicen que hay una hoja de cálculo o una tabla en MS Access que contiene caracteres en inglés (no diacríticos) como à, á, â, ã, ä, å, æ, ç, è, é, ê, ë

Dado que este sistema es utilizado por personas de habla inglesa, el usuario final, en la búsqueda de valores no puede adivinar si o no ciertas palabras o nombres fueron introducidos en la versión en Inglés o en la versión original.

Es decir, días podría ser introducido originalmente en el DATABSE como días o dias. coñac podría ser introducido como coñac o conac. De hecho a veces los datos se introduce de esta manera y, a veces en sentido contrario.

La pregunta es si existe una manera de establecer esta opción de búsqueda, por lo que una función de mecanismo de búsqueda de oficina (Ctrl + F) se encuentra días cuando se suministra dias.

Si no es así, me gustaría saber cuál sería su enfoque para resolver este problema.

¿Fue útil?

Solución

comportamiento coincidente de interfaz gráfica de usuario de diálogo de búsqueda en aplicaciones de Office no es personalizable. Pero si yo estuviera en sus zapatos, así es como me gustaría resolver el problema:

En primer lugar, usted necesitará un poco de código .NET que realiza búsquedas de acento y minúsculas. Dependiendo de qué idioma te gusta mejor, esto es tanto una muestra de # VB y C. El núcleo de este está utilizando el href="http://msdn.microsoft.com/en-us/library/b7zs7dcf.aspx" rel="nofollow noreferrer"> CompareInfo.IndexOf método utilizando un conjunto de parámetros CompareOptions CompareOptions.IgnoreNonSpace . Se trata de una búsqueda de acento y minúsculas.

A continuación, tendrá que llamar a este código de la aplicación de Office. ¿Cómo se conecta el código en Varía según el app-- por ejemplo, aquí están las entradas del blog que muestran cómo hacer esto desde Excel y acceso .

A continuación, tendrá que envolver alrededor de esas llamadas de código y la interfaz de usuario que simula una búsqueda y reemplazo. Esta vez será diferente en cada aplicación. Por ejemplo, en Excel podrás bucle a través de todas las celdas en la hoja de trabajo actual y buscar coincidencias utilizando su código.

Por último, querría para mapear ese código a un botón de barra de herramientas o de otra manera para obtener el código invocado.

De todos modos, espero que esto es suficiente información para ayudarle a empezar. Aquí está el código .NET núcleo, ya sea en VB o C # para hacer partidos de acento y minúsculas:

VB

Module Module1
    Sub Main()
        ' returns: 3
        Dim pos As Integer = FindIgnoreDiacritics("àcçëñt-énäblêd", "en")
    End Sub
    Function FindIgnoreDiacritics(ByVal lookIn As String, ByVal lookFor As String) As Integer
        FindIgnoreDiacritics = System.Globalization.CultureInfo.InvariantCulture.CompareInfo.IndexOf(lookIn, lookFor, System.Globalization.CompareOptions.IgnoreNonSpace Or System.Globalization.CompareOptions.IgnoreCase)
    End Function
End Module

C #

class Program
{
    static void Main(string[] args)
    {
        // returns: 3
        int pos = FindIgnoreDiacritics("àcçëñt-énäblêd", "en");
    }
    static int FindIgnoreDiacritics(string lookIn, string lookFor)
    {
        return System.Globalization.CultureInfo.InvariantCulture.CompareInfo.IndexOf(lookIn, lookFor,
            System.Globalization.CompareOptions.IgnoreNonSpace | System.Globalization.CompareOptions.IgnoreCase);
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top