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

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

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

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

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