דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. גומלין - כללי
  3. הוספת מיקוד אוטומטי בקובץ אקסל

הוספת מיקוד אוטומטי בקובץ אקסל

מתוזמן נעוץ נעול הועבר גומלין - כללי
16 פוסטים 9 כותבים 2.1k צפיות 8 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A Avi_av

    @by6199 אמר בהוספת מיקוד אוטומטי בקובץ אקסל:

    צודק, לא חשבתי על זה.
    אתה בטח מתכוון שגיאות בשם הרחוב מאשר הקלדה, הדואר קורא לרחוב רבי עקיבא והיה כתוב ר"ע ועוד אינספור דוגמאות

    אז את אלו שלא יזהו אוטומטית - תמלא ידנית..
    את העבודה הקשה חסכת.

    בכל מקרה, api חיצוני אמור להתאים.
    אשכול בפרוג על קוד vba לעניין

    by6199B מנותק
    by6199B מנותק
    by6199
    כתב ב נערך לאחרונה על ידי
    #7

    @avi_av אמר בהוספת מיקוד אוטומטי בקובץ אקסל:

    @by6199 אמר בהוספת מיקוד אוטומטי בקובץ אקסל:

    צודק, לא חשבתי על זה.
    אתה בטח מתכוון שגיאות בשם הרחוב מאשר הקלדה, הדואר קורא לרחוב רבי עקיבא והיה כתוב ר"ע ועוד אינספור דוגמאות

    אז את אלו שלא יזהו אוטומטית - תמלא ידנית..
    את העבודה הקשה חסכת.

    בכל מקרה, api חיצוני אמור להתאים.
    אשכול בפרוג על קוד vba לעניין

    ראיתי, לא יודע איך להגדיר בקובץ, האקסס שם לא תקין ובנוסף זה אחד אחד את זה גם ניתן לעשות באתר הדואר

    Y תגובה 1 תגובה אחרונה
    0
    • by6199B by6199

      @avi_av אמר בהוספת מיקוד אוטומטי בקובץ אקסל:

      @by6199 אמר בהוספת מיקוד אוטומטי בקובץ אקסל:

      צודק, לא חשבתי על זה.
      אתה בטח מתכוון שגיאות בשם הרחוב מאשר הקלדה, הדואר קורא לרחוב רבי עקיבא והיה כתוב ר"ע ועוד אינספור דוגמאות

      אז את אלו שלא יזהו אוטומטית - תמלא ידנית..
      את העבודה הקשה חסכת.

      בכל מקרה, api חיצוני אמור להתאים.
      אשכול בפרוג על קוד vba לעניין

      ראיתי, לא יודע איך להגדיר בקובץ, האקסס שם לא תקין ובנוסף זה אחד אחד את זה גם ניתן לעשות באתר הדואר

      Y מנותק
      Y מנותק
      yits
      כתב ב נערך לאחרונה על ידי yits
      #8

      @by6199

      אם אתה עדיין צריך קוד, מצאתי משהו שעשיתי עם הקוד שפורסם בפרוג.
      Module1.bas

      אתה צריך להכניס את הקובץ לתוך הפרוייקט שלף באקסס,
      הפונקציה הראשונה פותחת שאילתה של טבלת "נתונים" ובודקת אם השדה "מיקוד" הוא ריק,
      במקרה שהתשובה חיובית, הוא לוקח את הפרמטרים הבאים "רחוב,עיר,בית,כניסה" מתוך הטבלה ויוצר URL, התשובה שמתקבלת מתעדכנת ישירות בטבלת נתונים.

      ' השורה הראשונה עבור אקסס בלבד
      Option Compare Database
      Option Explicit
      
      Sub Demo()
      
          Dim rs As DAO.Recordset
          Dim strUrl As String
      
          Set rs = CurrentDb.OpenRecordset("נתונים")
      
          With rs
              .MoveFirst
              Do Until rs.EOF
            
                  If Nz(!מיקוד) = "" Then
      
                      strUrl = "http://www.israelpost.co.il/zip_data1.nsf/SearchZip?OpenAgent"
                      strUrl = strUrl & "&Location=" & UnicodeEncode(!עיר)
                      strUrl = strUrl & "&POB="
                      strUrl = strUrl & "&Street=" & UnicodeEncode(!רחוב)
                      strUrl = strUrl & "&House=" & UnicodeEncode(!בית)
                      strUrl = strUrl & "&Entrance=" & UnicodeEncode(!כניסה)
                  
                      .Edit
                      !מיקוד = GetZipCode(strUrl, False)
                      .Update
                      If !מיקוד <> 0 Then
                          Debug.Print !עיר & vbTab & !רחוב & vbTab & !בית & vbTab & !מיקוד
                      End If
                  End If
                 
                  .MoveNext
                   
              Loop
          End With
      
      End Sub
      
      Public Function UnicodeEncode(str) As String
          If IsNull(str) Then Exit Function
          Dim i, a
          For i = 1 To Len(str)
              a = AscW(Mid(str, i, 1))
              If a > -1 And a < 127 Then
                  UnicodeEncode = UnicodeEncode & "%" & String(2 - Len(Hex(a)), "0") & Hex(a)
              ElseIf a > -1 Or a < 65535 Then
                  UnicodeEncode = UnicodeEncode & "%u" & String(4 - Len(Hex(a)), "0") & Hex(a)
              End If
          Next
      End Function
      
      Function GetZipCode(strUrl As String, Optional blnAlert As Boolean = True) As Long
      
          Dim oHttpRequest As Object
          Dim strResult As String
      
          Set oHttpRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
          oHttpRequest.Open "GET", strUrl
      
          ' שליחת בקשה '
          oHttpRequest.Send
      
          ' נקבל תוצאה זו '
          strResult = oHttpRequest.ResponseText
      
          ' הוצאת המיקוד 7 ספרות '
          If InStr(1, strResult, "ישוב או רחוב לא קיים") > 0 Then
              GetZipCode = 0
          ElseIf InStr(1, strResult, "לא נמצא מיקוד") > 0 Then
              GetZipCode = 0
          ElseIf InStr(1, strResult, "למבנה קיימות מס' כניסות – לקבלת המיקוד המדויק לכניסה - נא לבחור כניסה") > 0 Then
              GetZipCode = Mid(strResult, InStr(1, strResult, "</body>") - 78, 7)
              If blnAlert Then MsgBox "למבנה קיימות מס' כניסות – לקבלת המיקוד המדויק לכניסה - נא לבחור כניסה.", vbMsgBoxRight + vbMsgBoxRtlReading + vbInformation
          Else
              GetZipCode = Mid(strResult, InStr(1, strResult, "</body>") - 8, 7)
          End If
      
          Set oHttpRequest = Nothing
      
      End Function
      
      Function GetRate(strUrl As String) As Double
      
          Dim oHttpRequest As Object
          Dim strResult As String
      
          Set oHttpRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
          oHttpRequest.Open "GET", strUrl
      
          ' שליחת בקשה '
          oHttpRequest.Send
      
          ' נקבל תוצאה זו '
          strResult = oHttpRequest.ResponseText
      
      ''<ERROR1>
          GetRate = Mid(strResult, _
              InStr(1, strResult, "<RATE>") + 6, _
              InStr(1, strResult, "</RATE>") - InStr(1, strResult, "<RATE>") - 6)
      
          Set oHttpRequest = Nothing
      
      End Function
      
      
      
      

      לקניה והנחות ב KSP כנסו מכאן.
      למוצרים עם הנחה מכאן.

      by6199B מוטי מןמ 2 תגובות תגובה אחרונה
      2
      • Y yits

        @by6199

        אם אתה עדיין צריך קוד, מצאתי משהו שעשיתי עם הקוד שפורסם בפרוג.
        Module1.bas

        אתה צריך להכניס את הקובץ לתוך הפרוייקט שלף באקסס,
        הפונקציה הראשונה פותחת שאילתה של טבלת "נתונים" ובודקת אם השדה "מיקוד" הוא ריק,
        במקרה שהתשובה חיובית, הוא לוקח את הפרמטרים הבאים "רחוב,עיר,בית,כניסה" מתוך הטבלה ויוצר URL, התשובה שמתקבלת מתעדכנת ישירות בטבלת נתונים.

        ' השורה הראשונה עבור אקסס בלבד
        Option Compare Database
        Option Explicit
        
        Sub Demo()
        
            Dim rs As DAO.Recordset
            Dim strUrl As String
        
            Set rs = CurrentDb.OpenRecordset("נתונים")
        
            With rs
                .MoveFirst
                Do Until rs.EOF
              
                    If Nz(!מיקוד) = "" Then
        
                        strUrl = "http://www.israelpost.co.il/zip_data1.nsf/SearchZip?OpenAgent"
                        strUrl = strUrl & "&Location=" & UnicodeEncode(!עיר)
                        strUrl = strUrl & "&POB="
                        strUrl = strUrl & "&Street=" & UnicodeEncode(!רחוב)
                        strUrl = strUrl & "&House=" & UnicodeEncode(!בית)
                        strUrl = strUrl & "&Entrance=" & UnicodeEncode(!כניסה)
                    
                        .Edit
                        !מיקוד = GetZipCode(strUrl, False)
                        .Update
                        If !מיקוד <> 0 Then
                            Debug.Print !עיר & vbTab & !רחוב & vbTab & !בית & vbTab & !מיקוד
                        End If
                    End If
                   
                    .MoveNext
                     
                Loop
            End With
        
        End Sub
        
        Public Function UnicodeEncode(str) As String
            If IsNull(str) Then Exit Function
            Dim i, a
            For i = 1 To Len(str)
                a = AscW(Mid(str, i, 1))
                If a > -1 And a < 127 Then
                    UnicodeEncode = UnicodeEncode & "%" & String(2 - Len(Hex(a)), "0") & Hex(a)
                ElseIf a > -1 Or a < 65535 Then
                    UnicodeEncode = UnicodeEncode & "%u" & String(4 - Len(Hex(a)), "0") & Hex(a)
                End If
            Next
        End Function
        
        Function GetZipCode(strUrl As String, Optional blnAlert As Boolean = True) As Long
        
            Dim oHttpRequest As Object
            Dim strResult As String
        
            Set oHttpRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
            oHttpRequest.Open "GET", strUrl
        
            ' שליחת בקשה '
            oHttpRequest.Send
        
            ' נקבל תוצאה זו '
            strResult = oHttpRequest.ResponseText
        
            ' הוצאת המיקוד 7 ספרות '
            If InStr(1, strResult, "ישוב או רחוב לא קיים") > 0 Then
                GetZipCode = 0
            ElseIf InStr(1, strResult, "לא נמצא מיקוד") > 0 Then
                GetZipCode = 0
            ElseIf InStr(1, strResult, "למבנה קיימות מס' כניסות – לקבלת המיקוד המדויק לכניסה - נא לבחור כניסה") > 0 Then
                GetZipCode = Mid(strResult, InStr(1, strResult, "</body>") - 78, 7)
                If blnAlert Then MsgBox "למבנה קיימות מס' כניסות – לקבלת המיקוד המדויק לכניסה - נא לבחור כניסה.", vbMsgBoxRight + vbMsgBoxRtlReading + vbInformation
            Else
                GetZipCode = Mid(strResult, InStr(1, strResult, "</body>") - 8, 7)
            End If
        
            Set oHttpRequest = Nothing
        
        End Function
        
        Function GetRate(strUrl As String) As Double
        
            Dim oHttpRequest As Object
            Dim strResult As String
        
            Set oHttpRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
            oHttpRequest.Open "GET", strUrl
        
            ' שליחת בקשה '
            oHttpRequest.Send
        
            ' נקבל תוצאה זו '
            strResult = oHttpRequest.ResponseText
        
        ''<ERROR1>
            GetRate = Mid(strResult, _
                InStr(1, strResult, "<RATE>") + 6, _
                InStr(1, strResult, "</RATE>") - InStr(1, strResult, "<RATE>") - 6)
        
            Set oHttpRequest = Nothing
        
        End Function
        
        
        
        
        by6199B מנותק
        by6199B מנותק
        by6199
        כתב ב נערך לאחרונה על ידי
        #9

        @yits לצערי מעולם לא התעסקתי לבד באקסס, וזה נשמע לי גדול קצת...

        Y תגובה 1 תגובה אחרונה
        1
        • by6199B by6199

          @yits לצערי מעולם לא התעסקתי לבד באקסס, וזה נשמע לי גדול קצת...

          Y מנותק
          Y מנותק
          yits
          כתב ב נערך לאחרונה על ידי
          #10

          @by6199

          מה אתה רוצה לעשות לעדכן פריט יחיד או טבלה שלמה?

          אגב, אין הרבה מה לעשות עם הקוד רק להניח אותו במקום הנכון, ולשנות כמה מילים בודדות.

          לקניה והנחות ב KSP כנסו מכאן.
          למוצרים עם הנחה מכאן.

          by6199B תגובה 1 תגובה אחרונה
          1
          • Y yits

            @by6199

            מה אתה רוצה לעשות לעדכן פריט יחיד או טבלה שלמה?

            אגב, אין הרבה מה לעשות עם הקוד רק להניח אותו במקום הנכון, ולשנות כמה מילים בודדות.

            by6199B מנותק
            by6199B מנותק
            by6199
            כתב ב נערך לאחרונה על ידי
            #11

            @yits אמר בהוספת מיקוד אוטומטי בקובץ אקסל:

            @by6199

            מה אתה רוצה לעשות לעדכן פריט יחיד או טבלה שלמה?

            אגב, אין הרבה מה לעשות עם הקוד רק להניח אותו במקום הנכון, ולשנות כמה מילים בודדות.

            לעדכן טבלה.

            בודד כבר הייתי מעתיק מהדואר

            תגובה 1 תגובה אחרונה
            0
            • Y מנותק
              Y מנותק
              yits
              כתב ב נערך לאחרונה על ידי
              #12

              @by6199
              אני התכוונתי לשאול האם אתה רוצה שבהוספת איש קשר אוטמטי יתווסף לו מיקוד
              או פעם ב... תפעיל שאילתה של הוספת/ עדכון מיקוד לכולם.

              בכל אופן מה שאני השתמשתי זה האופציה השניה (מכיון שרציתי להריץ את זה חד פעמי,
              וכרגיל אני לוקח מתוך קובץ מקומי של מיקוד).

              לקניה והנחות ב KSP כנסו מכאן.
              למוצרים עם הנחה מכאן.

              תגובה 1 תגובה אחרונה
              0
              • י מנותק
                י מנותק
                ימהר
                כתב ב נערך לאחרונה על ידי
                #13

                @by6199
                קח קובץ אקסס שיעשה לך את זה.
                תדביק את הנתונים שלך בטבלה, והפעל את הלחצן
                0_1536705537649_קבלת מיקוד.accdb

                תגובה 1 תגובה אחרונה
                5
                • shloymiS מנותק
                  shloymiS מנותק
                  shloymi
                  כתב ב נערך לאחרונה על ידי
                  #14

                  @ימהר ניסיתי לעבוד עם הקובץ אך הוא מחזיר תשובה של בעיה בשרת.
                  האם מישהו יודע מה הבעיה בקוד שלכן הוא לא מאפשר את קבלת המיקוד?

                  תגובה 1 תגובה אחרונה
                  0
                  • Y yits

                    @by6199

                    אם אתה עדיין צריך קוד, מצאתי משהו שעשיתי עם הקוד שפורסם בפרוג.
                    Module1.bas

                    אתה צריך להכניס את הקובץ לתוך הפרוייקט שלף באקסס,
                    הפונקציה הראשונה פותחת שאילתה של טבלת "נתונים" ובודקת אם השדה "מיקוד" הוא ריק,
                    במקרה שהתשובה חיובית, הוא לוקח את הפרמטרים הבאים "רחוב,עיר,בית,כניסה" מתוך הטבלה ויוצר URL, התשובה שמתקבלת מתעדכנת ישירות בטבלת נתונים.

                    ' השורה הראשונה עבור אקסס בלבד
                    Option Compare Database
                    Option Explicit
                    
                    Sub Demo()
                    
                        Dim rs As DAO.Recordset
                        Dim strUrl As String
                    
                        Set rs = CurrentDb.OpenRecordset("נתונים")
                    
                        With rs
                            .MoveFirst
                            Do Until rs.EOF
                          
                                If Nz(!מיקוד) = "" Then
                    
                                    strUrl = "http://www.israelpost.co.il/zip_data1.nsf/SearchZip?OpenAgent"
                                    strUrl = strUrl & "&Location=" & UnicodeEncode(!עיר)
                                    strUrl = strUrl & "&POB="
                                    strUrl = strUrl & "&Street=" & UnicodeEncode(!רחוב)
                                    strUrl = strUrl & "&House=" & UnicodeEncode(!בית)
                                    strUrl = strUrl & "&Entrance=" & UnicodeEncode(!כניסה)
                                
                                    .Edit
                                    !מיקוד = GetZipCode(strUrl, False)
                                    .Update
                                    If !מיקוד <> 0 Then
                                        Debug.Print !עיר & vbTab & !רחוב & vbTab & !בית & vbTab & !מיקוד
                                    End If
                                End If
                               
                                .MoveNext
                                 
                            Loop
                        End With
                    
                    End Sub
                    
                    Public Function UnicodeEncode(str) As String
                        If IsNull(str) Then Exit Function
                        Dim i, a
                        For i = 1 To Len(str)
                            a = AscW(Mid(str, i, 1))
                            If a > -1 And a < 127 Then
                                UnicodeEncode = UnicodeEncode & "%" & String(2 - Len(Hex(a)), "0") & Hex(a)
                            ElseIf a > -1 Or a < 65535 Then
                                UnicodeEncode = UnicodeEncode & "%u" & String(4 - Len(Hex(a)), "0") & Hex(a)
                            End If
                        Next
                    End Function
                    
                    Function GetZipCode(strUrl As String, Optional blnAlert As Boolean = True) As Long
                    
                        Dim oHttpRequest As Object
                        Dim strResult As String
                    
                        Set oHttpRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
                        oHttpRequest.Open "GET", strUrl
                    
                        ' שליחת בקשה '
                        oHttpRequest.Send
                    
                        ' נקבל תוצאה זו '
                        strResult = oHttpRequest.ResponseText
                    
                        ' הוצאת המיקוד 7 ספרות '
                        If InStr(1, strResult, "ישוב או רחוב לא קיים") > 0 Then
                            GetZipCode = 0
                        ElseIf InStr(1, strResult, "לא נמצא מיקוד") > 0 Then
                            GetZipCode = 0
                        ElseIf InStr(1, strResult, "למבנה קיימות מס' כניסות – לקבלת המיקוד המדויק לכניסה - נא לבחור כניסה") > 0 Then
                            GetZipCode = Mid(strResult, InStr(1, strResult, "</body>") - 78, 7)
                            If blnAlert Then MsgBox "למבנה קיימות מס' כניסות – לקבלת המיקוד המדויק לכניסה - נא לבחור כניסה.", vbMsgBoxRight + vbMsgBoxRtlReading + vbInformation
                        Else
                            GetZipCode = Mid(strResult, InStr(1, strResult, "</body>") - 8, 7)
                        End If
                    
                        Set oHttpRequest = Nothing
                    
                    End Function
                    
                    Function GetRate(strUrl As String) As Double
                    
                        Dim oHttpRequest As Object
                        Dim strResult As String
                    
                        Set oHttpRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
                        oHttpRequest.Open "GET", strUrl
                    
                        ' שליחת בקשה '
                        oHttpRequest.Send
                    
                        ' נקבל תוצאה זו '
                        strResult = oHttpRequest.ResponseText
                    
                    ''<ERROR1>
                        GetRate = Mid(strResult, _
                            InStr(1, strResult, "<RATE>") + 6, _
                            InStr(1, strResult, "</RATE>") - InStr(1, strResult, "<RATE>") - 6)
                    
                        Set oHttpRequest = Nothing
                    
                    End Function
                    
                    
                    
                    
                    מוטי מןמ מנותק
                    מוטי מןמ מנותק
                    מוטי מן
                    כתב ב נערך לאחרונה על ידי
                    #15
                    פוסט זה נמחק!
                    תגובה 1 תגובה אחרונה
                    0
                    • Y מנותק
                      Y מנותק
                      yossidror
                      כתב ב נערך לאחרונה על ידי
                      #16
                      פוסט זה נמחק!
                      תגובה 1 תגובה אחרונה
                      0
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום