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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עמודה לחיצה בexcel עם http request

עמודה לחיצה בexcel עם http request

מתוזמן נעוץ נעול הועבר תכנות
13 פוסטים 4 כותבים 274 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • צבי-שצ מחובר
    צבי-שצ מחובר
    צבי-ש
    השיב לש.ב.ח. ב נערך לאחרונה על ידי
    #2

    @ש-ב-ח אמר בעמודה לחיצה בexcel עם http request:

    איך אני יוצר עמודה לחיצה באקסל
    שבלחיצה עליה נעשית קריאת http לurl מעמודה אחרת בשורה
    (כרגע יש לי רק היפר קישור לפתיחת דפדפן)

    הדף יוצר שיחה במרכזיה (לא מחזיר ולא מחדש שום דבר...)

    https://stackoverflow.com/questions/158633/how-can-i-send-an-http-post-request-to-a-server-from-excel-using-vba

    זה קוד VBA ששולח בקשת HTTP POST.
    תעשה לחצן שמפעיל את הקוד הזה

    כיף לגלות דברים חדשים.
    חוק ה-50-50-90: בכל פעם שיש סיכוי של 50-50 שמשהו יעבוד, יש סיכוי של 90 אחוז שהוא לא. מקור

    dovidD תגובה 1 תגובה אחרונה
    3
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב לצבי-ש ב נערך לאחרונה על ידי
      #3

      @צבי-ש אמר בעמודה לחיצה בexcel עם http request:

      תעשה לחצן שמפעיל את הקוד הזה

      אבל:

      @ש-ב-ח אמר בעמודה לחיצה בexcel עם http request:

      איך אני יוצר עמודה לחיצה באקסל

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      0
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        השיב לש.ב.ח. ב נערך לאחרונה על ידי
        #4

        @ש-ב-ח יש אירוע בשם Worksheet_FollowHyperlink
        אבל א. הוא לא מופעל מפונקציית HYPERLINK אלא רק מקישור רגיל ב. הוא לא מונע פתיחת דפדפן אלא רץ במקביל.
        לכן תצטרך להשתמש בSelectionCHange:
        לחץ על ALT+F11 לפתיחת הVBA, לחץ בצד שמאל דבל קליק על הגיליון הרצוי המופיע ברשימה, ובחלון הנפתח תדביק את זה שזה בעצם הקוד ש@צבי-ש המליץ:

        Private Sub Worksheet_SelectionChange(ByVal Target As Range)
            If Target.Column = 2 Then
                Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
                Url = "https://www.google.com?q=" & Target.Text
                objHTTP.Open "GET", Url, False
                objHTTP.send ""
            End If
        End Sub
        
        

        אתה צריך לשנות את מס' העמודה (מה שכתוב 2) לעמודה המתאימה, ואת הכתובת והפרמטרים לפי הצרכים שלך.
        בהצלחה.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        ש תגובה 1 תגובה אחרונה
        4
        • ש מנותק
          ש מנותק
          ש.ב.ח.
          השיב לdovid ב נערך לאחרונה על ידי
          #5

          @dovid
          אני צריך שהוא יקח את הכתובת מעמודה אחרת בשורה שהיא עם נוסחת CONCAT עם עמודות אחרות בשורה וכמובן יוודא שהעמודה לא ריקה

          dovidD OdedDvirO 2 תגובות תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            השיב לש.ב.ח. ב נערך לאחרונה על ידי
            #6

            @ש-ב-ח את זה תעשה עם נוסחה רגילה, ואח"כ באירוע תתבסס על תוצאת הנוסחה.

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            0
            • OdedDvirO מנותק
              OdedDvirO מנותק
              OdedDvir
              השיב לש.ב.ח. ב נערך לאחרונה על ידי
              #7

              מישהו חכם אמר פעם:

              (לדעת לשאול זה חלק הכי חשוב בכל דבר בחיים, וודאי שבלימוד קוד)

              הכתובת נמצאת בשורה:

                      Url = "https://www.google.com?q=" & Target.Text
              

              תחליף בערך של העמודה הנכונה (בדוגמא להלן 7) :

                      Url = Cells(Target.Row, 7).Value & Target.Text
              
              dovidD תגובה 1 תגובה אחרונה
              2
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                השיב לOdedDvir ב נערך לאחרונה על ידי
                #8

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

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                2
                • ש מנותק
                  ש מנותק
                  ש.ב.ח.
                  כתב ב נערך לאחרונה על ידי
                  #9

                  @OdedDvir
                  לא השתנה כלום, עדיין אוחז מהמשפט המוסגר

                  והנה שאלתי מתחילת השיחה:

                  @ש-ב-ח אמר בעמודה לחיצה בexcel עם http request:

                  איך אני יוצר עמודה לחיצה באקסל
                  שבלחיצה עליה נעשית קריאת http לurl מעמודה אחרת בשורה

                  זה היה מאוד ברור ש

                  @OdedDvir אמר בעמודה לחיצה בexcel עם http request:

                  הכתובת נמצאת בשורה:
                  Url = "https://www.google.com?q=" & Target.Text

                  @OdedDvir אמר בעמודה לחיצה בexcel עם http request:

                  תחליף בערך של העמודה הנכונה (בדוגמא להלן 7) :
                  Url = Cells(Target.Row, 7).Value & Target.Text

                  תודה.

                  @dovid אמר בעמודה לחיצה בexcel עם http request:

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

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

                  מה שהייתי רוצה לראות (כמובן במבט של מפגר בexcel) שתהיה אפשרות מתוך הגליון לקבוע שבלחיצה על תא מסוים ישלח ערך של url אל הפונקציה (בעצם בכל תא בעמודה ערך אח מתא בעמודה אחרת מאותה שורה)
                  לא אכפת לי לעשות את זה עם איזה כפתור (ואולי זה יותר טוב)

                  dovidD תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    השיב לש.ב.ח. ב נערך לאחרונה על ידי dovid
                    #10

                    @ש-ב-ח אמר בעמודה לחיצה בexcel עם http request:

                    מה שהייתי רוצה לראות (כמובן במבט של מפגר בexcel) שתהיה אפשרות מתוך הגליון לקבוע שבלחיצה על תא מסוים ישלח ערך של url אל הפונקציה (בעצם בכל תא בעמודה ערך אח מתא בעמודה אחרת מאותה שורה)

                    זה בדיוק בדיוק מה שהבאתי לך. אתה צריך לדאוג שבתא הלחיץ יהיה את הטקסט הרלוונטי לכתובת או את הכתובת עצמה, ע"י נוסחאות אקסל של contact וכולי. בקוד תחליף את הUrl כולו או חלקו בTarget.Text.

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

                    בדיוק כמו בקוד שלי, שעשיתי תנאי if שהעמודה הנוכחית מספר 2.
                    (הייתי שואף למשו יותר אלגנטי כפי שתוכל לדקדק בדברי, זה כבר תלוי בנסוחאותיך. למשל אם הנוסחה שלך תייצר לינק שמתחיל בcall2yemot.co.il, תוכל להתנות את פעולת הפונקציה בזה שהתא מכיל כזה טקסט).

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    OdedDvirO תגובה 1 תגובה אחרונה
                    0
                    • OdedDvirO מנותק
                      OdedDvirO מנותק
                      OdedDvir
                      השיב לdovid ב נערך לאחרונה על ידי
                      #11

                      @dovid אמר בעמודה לחיצה בexcel עם http request:

                      הייתי שואף למשו יותר אלגנטי

                      Const ClickableColumnNumber As Integer = 2 'העמודה הלחיצה
                      Const URLColumnNumber As Integer = 7 'העמודה עם הכתובת לשליחה
                      Const UrlPrefix As String = "http://xn--call2yemot-0hm.co.il/" 'קידומת הכרחית לשליחה
                      
                      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                          If Target.Column <> ClickableColumnNumber Then Exit Sub
                          Dim Url As String
                          Url = Cells(Target.Row, URLColumnNumber ).Value
                          ' Verify the URL starts with the right prefix
                          If InStr(1, Url, UrlPrefix) <> 1 Then Exit Sub
                          ' All is Ok
                          With CreateObject("MSXML2.ServerXMLHTTP")
                              .Open "GET", Url, False
                              .Send ""
                          End With
                      End Sub
                      
                      תגובה 1 תגובה אחרונה
                      2
                      • ש מנותק
                        ש מנותק
                        ש.ב.ח.
                        כתב ב נערך לאחרונה על ידי ש.ב.ח.
                        #12

                        @dovid @OdedDvir
                        רק בעיה אחת נותרה
                        הכתובת מחייבת אימות

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

                        בדפדן אני מכניס ככה

                        username:password@localhost/...
                        

                        איך זה יעבוד כאן?
                        אם זה אמור לעבוד באותה צורה, אז זה לא עובד.... 😞

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

                          @ש-ב-ח זה נושא חדש לחלוטין.
                          זה לא מכשול רציני, צריך לדעת איזה אימות ומה הפרמטרים.
                          בשביל לאבחן איזה אימות צריכים צריך לדעת להסתכל בכלי המפפתחים בדפדפן בעת ביצוע האימות.
                          פתח נושא חדש לעניין הזה, אני מציע כותרת: בקשת HTTP בVBA עם אימות.

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          תגובה 1 תגובה אחרונה
                          1

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

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

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