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

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

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

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

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

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

    @by6199 זה קצת מסבובך.
    אם זה היה הפוך, יותר קל.

    אבל כאן יכול להיות הרבה שגיאות הקלדה.

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

    A מנותק
    A מנותק
    Avi_av
    כתב ב נערך לאחרונה על ידי
    #6

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

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

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

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

    avi_av at hi2.in

    by6199B תגובה 1 תגובה אחרונה
    0
    • 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
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום