Gibt es eine Möglichkeit zum Satz von Sucheinstellungen für MS Office (2003) für nicht Englisch charectars
-
21-09-2019 - |
Frage
sagen, es gibt eine Tabelle oder eine Tabelle in MS-Zugang, die nicht englische Zeichen (diakritische Zeichen) wie à, á, â, ã, ä, å, æ, ç, è, é, ê, ë
enthält
Da dieses System von englischen Sprechern verwendet wird, der Endbenutzer, wenn für Werte suchen, kann nicht erraten, ob bestimmte Worte oder Namen in der englischen Fassung eingetragen wurden oder in der Originalversion.
Das heißt, días
könnte ursprünglich in die databse als días
oder dias
eingegeben werden. coñac
könnte als coñac
oder conac
eingegeben werden. In der Tat werden manchmal Daten auf diese Weise eingegeben und manchmal die andere Art und Weise.
Die Frage ist, ob es einen Weg gibt, diese Suchoptionen zu setzen, so integriertem Büro Suchmechanismus (Strg + f) würde días
finden, wenn dias
geliefert wird.
Wenn es nicht der Fall, ich würde gerne hören, was Ihr Ansatz wäre, dieses Problem zu lösen.
Lösung
GUI Anpassungsverhalten des Suchdialogs in Office-Anwendungen ist anpassbar nicht. Aber wenn ich an deiner Stelle wäre, hier ist, wie ich das Problem lösen würde:
Zuerst müssen Sie einige .NET-Code benötigen, der Akzent unempfindlichen Suche durchführt. Je nachdem, welche Sprache Sie am besten gefällt, ist hier sowohl ein VB und C # Probe. Der Kern dieser wird mit dem CompareInfo.IndexOf
Verfahren einen Parametersatz unter Verwendung CompareOptions CompareOptions.IgnoreNonSpace
. Dies ist ein Akzent unempfindliche Suche.
Als nächstes müssen Sie den Code aus dem Office-Anwendung aufzurufen. Wie Sie Code in Variiert von app-- zum Beispiel stecken, sind hier zeigen Blog-Posts, wie dies zu tun von Excel und Zugang .
Dann müssen Sie diese Anrufe um Code und UI wickeln, die eine Suche simuliert und ersetzen. Dies wiederum wird in jeder App unterschiedlich sein. Zum Beispiel in Excel Sie werde Schleife durch alle Zellen in dem aktuellen Arbeitsblatt und das Aussehen für die Spiele der Code verwendet wird.
Schließlich würden Sie wollen, dass Code auf eine Schaltfläche in der Symbolleiste zur Karte oder andere Art und Weise, Ihren Code zu erhalten aufgerufen.
Wie auch immer, hofft, das ist genug Informationen, um Ihnen den Einstieg erleichtern. Hier ist der Kern .NET-Code in jedem VB oder C # Akzent unempfindliche Spiele zu tun:
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);
}
}