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

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

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

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

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

    @ש-ב-ח אמר בעמודה לחיצה ב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.
    תעשה לחצן שמפעיל את הקוד הזה

    dovidD מנותק
    dovidD מנותק
    dovid
    ניהול
    כתב ב נערך לאחרונה על ידי
    #3

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

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

    אבל:

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

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

    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    תגובה 1 תגובה אחרונה
    0
    • ש ש.ב.ח.

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

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

      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
      • dovidD dovid

        @ש-ב-ח יש אירוע בשם 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) לעמודה המתאימה, ואת הכתובת והפרמטרים לפי הצרכים שלך.
        בהצלחה.

        ש מנותק
        ש מנותק
        ש.ב.ח.
        כתב ב נערך לאחרונה על ידי
        #5

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

        dovidD OdedDvirO 2 תגובות תגובה אחרונה
        0
        • ש ש.ב.ח.

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

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

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

          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
          תגובה 1 תגובה אחרונה
          0
          • ש ש.ב.ח.

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

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

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

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

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

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

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

                    Url = Cells(Target.Row, 7).Value & Target.Text
            
            dovidD תגובה 1 תגובה אחרונה
            2
            • OdedDvirO OdedDvir

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

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

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

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

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

                      Url = Cells(Target.Row, 7).Value & Target.Text
              
              dovidD מנותק
              dovidD מנותק
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי
              #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
                • ש ש.ב.ח.

                  @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 מנותק
                  dovidD מנותק
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי dovid
                  #10

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

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

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

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

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

                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                  OdedDvirO תגובה 1 תגובה אחרונה
                  0
                  • dovidD dovid

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

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

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

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

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

                    OdedDvirO מנותק
                    OdedDvirO מנותק
                    OdedDvir
                    כתב ב נערך לאחרונה על ידי
                    #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
                      • ש ש.ב.ח.

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

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

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

                        username:password@localhost/...
                        

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

                        dovidD מנותק
                        dovidD מנותק
                        dovid
                        ניהול
                        כתב ב נערך לאחרונה על ידי
                        #13

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

                        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                        תגובה 1 תגובה אחרונה
                        1
                        תגובה
                        • תגובה כנושא
                        התחברו כדי לפרסם תגובה
                        • מהישן לחדש
                        • מהחדש לישן
                        • הכי הרבה הצבעות


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

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

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