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

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

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

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

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

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

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

    צבי-שצ dovidD 2 תגובות תגובה אחרונה
    0
    • צבי-שצ מחובר
      צבי-שצ מחובר
      צבי-ש
      השיב לש.ב.ח. ב נערך לאחרונה על ידי
      #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
                            • דף הבית
                            • קטגוריות
                            • פוסטים אחרונים
                            • משתמשים
                            • חיפוש
                            • חוקי הפורום