Caracteres alemanes en VBA
Publicado por Zirado (12 intervenciones) el 12/12/2017 16:48:39
He hecho una basa de datos en access para mi empresa y en el formulario de clientes he implementado un botón que te lleva a la dirección del cliente en Googlemaps.
Se basa en 3 campos: código postal, pobalción y dirección. La base de datos es en alemán así que los campos son: PLZ, Ort y Adresse.
El código para Googlemaps basado en esos 3 campos funciona perfectamente excepeto cuando aparecen caracteres alemanes. En google maps aparece la dirección pero dichos caracteres son sustituidos por un espacio, solo esos caracteres.
He buscado por internet en foros alemanes y normalmente sugieren usar la funcion replace. Lo he intentado de varias maneras pero no consigo integrarla en mi código para Google Maps.
Las sustituciones deberían ser las siguientes:
ß por ss
ä por ae
Ä por Ae
ö por oe
Ö por Oe
ü por ue
Ü por Ue
Pego mi código para Google Maps:
Se basa en 3 campos: código postal, pobalción y dirección. La base de datos es en alemán así que los campos son: PLZ, Ort y Adresse.
El código para Googlemaps basado en esos 3 campos funciona perfectamente excepeto cuando aparecen caracteres alemanes. En google maps aparece la dirección pero dichos caracteres son sustituidos por un espacio, solo esos caracteres.
He buscado por internet en foros alemanes y normalmente sugieren usar la funcion replace. Lo he intentado de varias maneras pero no consigo integrarla en mi código para Google Maps.
Las sustituciones deberían ser las siguientes:
ß por ss
ä por ae
Ä por Ae
ö por oe
Ö por Oe
ü por ue
Ü por Ue
Pego mi código para Google Maps:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub Map_Click()
Dim strLinkUrl As String ' address of provider passed to Googlemaps in the URL
Dim strPath As String ' Google maps URL
Dim strAddr() As String ' used to split up address string
' this is the URL to Google maps
strPath = "http://maps.google.com/maps?q="
' setup the address URL to be passed by including the street, city and state
strLinkUrl = RTrim(Adresse.Value) & "," & "+" & RTrim(PLZ.Value) & "+" & RTrim(Ort.Value)
' split up the address URL so that space between words can be removed.
strAddr = Split(strLinkUrl, " ", , vbTextCompare)
' piece back each address together with "+"
strLinkUrl = ""
For I = LBound(strAddr()) To UBound(strAddr())
strLinkUrl = strLinkUrl & strAddr(I) & "+"
Next I
' remove the trailing "+" and include the Google map URL
strLinkUrl = strPath & Left(strLinkUrl, Len(strLinkUrl) - 1)
Debug.Print strLinkUrl
' bring up Google maps passing the address
Me.Map.HyperlinkAddress = strLinkUrl
End Sub
Valora esta pregunta


0