konto usunięte
Temat: kod VBA w kalkulatorze pól ArcMap
Witam, próbuję wykorzystać w kalkulatorze pól gotowe kody pozyskane ze strony http://www.ian-ko.com/free/free_arcgis.htmPrzypisuję pole (np. [WGS_N]), które chce wykorzystać do kalkulacji, jako zmienną sField , Przy próbie uruchomienia kodu, wyskakuje mi tekst: "Error running VBA code : user interrupt"
Nie wiem, czy coś jeszcze muszę w kodzie zmienić. Będę wdzięczny za pomoc.
Przykładowy kod, który chciałbym użyć:
'=========================
'field_dd2dms_lat.cal
'Author: Ianko Tchoukanski
'http://www.ian-ko.com
'=========================
Dim sField
Dim dY As Double
Dim dD As Double, dM As Double, dS As Double
Dim dM1 As Double, dS1 As Double
Dim sD As String, sM As String, sS As String
Dim sSuf As String
Dim sType As String
Dim sDMS As String
Dim sDeg As String, sMin As String, sSec As String
Dim iNumDec As Integer
'=================================================
'Adjust the variables below
sField = [y]
sDeg = "d" 'Character after degrees
sMin = Chr(39) 'Character after minutes
sSec = Chr(34) 'Character after seconds
iNumDec = 2 'number of decimal places for the seconds (minutes)
sType = "dms" 'result type "dms" - Degrees-Minutes-Seconds, "dm" - Degrees-Minutes
'=====================================================
dY = sField
If dY >= 0 Then
sSuf = "N"
Else
sSuf = "S"
End If
dY = Abs(dY)
dD = Int(dY)
sD = CStr(dD)
dM = (dY - dD) * 60
dM1 = Int(dM)
If (sType = "dms") Then
If (Len(CStr(dM1)) = 1) Then
sM = "0" & CStr(dM1)
Else
sM = CStr(dM1)
End If
dS = FormatNumber(((dM - dM1) * 60), iNumDec)
dS1 = Int(dS)
If (Len(CStr(dS1)) = 1) Then
sS = "0" & CStr(dS)
Else
sS = CStr(dS)
End If
sDMS = sD & sDeg & sM & sMin & sS & sSec & sSuf
Else
sM = CStr(FormatNumber(dM, iNumDec))
sDMS = sD & sDeg & sM & sMin & sSuf
End If