אופיס 365 קוד לקבלת שער יציג מבנק ישראל באקסס

  • הוסף לסימניות
  • #1
תודה למוישי שהשאיר כאן בעבר קוד לקבלת שער היציג של המטבעות חו"ץ מבנק ישראל הובא כאן,
רק רציתי לבקש ממי שיודע למה בתאריכים שונים ובמטבעות שונים הוא מחזיר לי שגיאה "13".
והאם אפשר להוסיף בקוד הזה שבמקום שגיאה יעשה "0" או כיתוב מסוים כגון: "אין מידע" וכדו' או פשוט לתקן את זה,
תודה רבה!!!
 

קבצים מצורפים

  • 1.png
    1.png
    KB 53.1 · צפיות: 100
  • 2.png
    2.png
    KB 3.8 · צפיות: 97
  • 3.png
    3.png
    KB 2.3 · צפיות: 96
  • הוסף לסימניות
  • #2
יכול להיות שהוא קורא לתאריך 12/13 ואין לו כזה חודש במלאי.

לפעמים קורה כזה דבר, אולי מוישי יביא פתרון לנושא, חוץ מformat
 
  • הוסף לסימניות
  • #3
בס"ד
א. מה הפתרון של format, איך? ומה?
ב. שחכתי לציין שניסיתי גם לעשות עוד שדה בתבנית של מספר רגיל שמקבל את הער של השדה [תאריך] ואז יוצא בעצם שיש לו את הקוד של התאריך ולהפנות את התאריך בפונקציה לשדה של הקוד, ובכ"ז הוא עבד את אותו דבר, ובתאריך הנ"ל אותו שגיאה.
 
  • הוסף לסימניות
  • #4
תוכל לקשר אותי לקוד?
 
  • הוסף לסימניות
  • #5
איזה קוד?
[אם אתה מתכוון ל "קוד של התאריך" שכתבתי למעלה. הכוונה מספר ש microsoft קוראת לתאריך, דוגמא: אם אתה עושה תאריך באקסל התבנית של השדה נהיית "תאריך", אם תשנה ל"כללי" תקבל את המספר].
ומה אם האות א.
 
  • הוסף לסימניות
  • #6
לא.
כוונתי לקוד שכתבתי שנתקל בשגיאה.
 
  • הוסף לסימניות
  • #7
סליחה ממש הבאתי את זה כבר בהתחלה במילה "כאן" ושכחתי לעשות סימן קישור

אני העתיק...

קבלת שער הדולר מבנק ישראל באמצעות פונקציה

אודות למוישי.
This user does not have permission to use the HTML BB code.

הפונקציה לשער הדולר היא: =GetNISExchangeRate(Date(),"01")
 
  • הוסף לסימניות
  • #8
יש טעות בקוד.
בשורה זו:
GetNISExchangeRate = Mid(strResult, pos + Len(strSearch), 5)
צריך להיות
GetNISExchangeRate = Mid(strResult, pos + Len(strSearch), 4)
 
  • הוסף לסימניות
  • #10
מושי שלום וברכה, אני משתמש הרבה בקוד לקבלת שער, השבוע הוא הפסיק לעבוד, תוכל בבקשה לראות למה, ומה השתנה בבנק ישראל?
תודה מראש.
 
  • הוסף לסימניות
  • #11
תחליף את הפונקציה בשם הזה: GetHTML
בקוד הזה:
קוד:
Function GetHTML(strURL As String) As String
    Dim HTML As String
    With CreateObject("MSXML2.ServerXMLHTTP.6.0")
        .Open "GET", strURL, False
        .Send
        GetHTML = .ResponseText
    End With
End Function
 
  • הוסף לסימניות
  • #13
בוקר טוב, שוב הפונקציה לא עובדת, בדקתי וזה בגלל ששער הדולר היום הוא 3.7 עגול, והפונקציה צריכה 3 ספרות. מה עושים?
תודה רבה
 
  • הוסף לסימניות
  • #14
מקוה שבזה אוכל לסיים את ההתעסקות בפונקציה הזו :)
קוד:
Option Explicit

Public Declare Function InternetGetConnectedState Lib "wininet.dll" (lpdwFlags As Long, ByVal dwReserved As Long) As Boolean

Public Function GetNISExchangeRate(Optional dtDate As Date = #1/1/1900#, Optional strCurr As String = "01") As Double

    Dim strURL As String
    Dim strResult As String
    Dim lngStartPosition As Long
    Dim lngEndPosition As Long
    Dim strFirstSearch As String
    Dim strLastSearch As String
    Dim dtPreviousDate As Date
    Dim i As Integer

    strFirstSearch = "<RATE>"
    strLastSearch = "</RATE>"

    If dtDate = #1/1/1900# Then
        dtDate = Date
    End If

    Select Case strCurr
        Case "01", "02", "03", "05", "06", "12", "17", "18", "27", "28", "31", "69", "70", "79"
        Case Else
            MsgBox "קוד מטבע לא חוקי!", vbCritical + vbMsgBoxRtlReading + vbMsgBoxRight
            Exit Function
    End Select

    If IsConnected Then
        strURL = "http://www.boi.org.il/currency.xml?rdate=" & Format(IIf(dtPreviousDate > 1, dtPreviousDate, dtDate), "YYYYMMDD") & "&curr=" & strCurr
        strResult = GetHTML(strURL)
        If InStr(1, strResult, strFirstSearch) < 1 Then
            For i = 1 To 6
                dtPreviousDate = dtDate - i
                strURL = "http://www.boi.org.il/currency.xml?rdate=" & Format(dtPreviousDate, "YYYYMMDD") & "&curr=" & strCurr
                strResult = GetHTML(strURL)
                If InStr(1, strResult, strFirstSearch) > 0 Then Exit For
            Next i
        End If
    Else
        MsgBox "לא זוהה חיבור לאינטרנט!", vbCritical + vbMsgBoxRtlReading + vbMsgBoxRight
    End If

    If Len(strResult) > 0 Then
        lngStartPosition = InStr(1, strResult, strFirstSearch, vbTextCompare)
        lngEndPosition = CLng(InStr(1, strResult, strLastSearch, vbTextCompare))
        If lngStartPosition > -1 Then
            GetNISExchangeRate = Mid(strResult, lngStartPosition + Len(strFirstSearch), lngEndPosition - CLng(lngStartPosition + Len(strFirstSearch)))
        End If
    End If
   
End Function

Function IsConnected() As Boolean
    Dim Stat As Long
    IsConnected = (InternetGetConnectedState(Stat, 0&) <> 0)
End Function

Function GetHTML(strURL As String) As String
    Dim HTML As String
    With CreateObject("MSXML2.ServerXMLHTTP.6.0")
        .Open "GET", strURL, False
        .Send
        GetHTML = .ResponseText
    End With
End Function
 
נערך לאחרונה ב:
  • הוסף לסימניות
  • #15
תודה רבה מאוד,מקווה שלא אטריד אותך יותר.
 
  • הוסף לסימניות
  • #16
הקוד לא מתאים ל64 BIT.
מתקבלת הודעת שגיאה שצריך להתאים את ההכרזות ל64BIT ולהשתמש PtrSafe.

לכידה.PNG


מה צריך לעשות?

תודה!
 
נערך לאחרונה ב:

פרוגבוט

תוכן שיווקי
פרסומת

פוסטים חדשים שאולי לא קראת....

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!

לוח מודעות

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק כה

אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
נקרא  2  פעמים
למעלה