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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
13 פוסטים 4 כותבים 274 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום