ماکرو برای تبدیل تاریخ شمسی به میلادی در متن فایل ورد
سوال
آیا کسی میداند چرا این کد (که برای ایجاد ماکرو در نرمافزار ورد ایجاد شده) نمیتواند به درستی تاریخ شمسی را به میلادی تبدیل کند؟ هوش مصنوعی هم نتوانست این را اصلاح کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
Function JalaliToGregorian(ByVal JalaliDate As String) As String Dim JalaliYear As Integer Dim JalaliMonth As Integer Dim JalaliDay As Integer Dim GregorianDate As Date Dim j_y, j_m, j_d, g_y, g_m, g_d As Integer JalaliYear = Mid(JalaliDate, 7, 4) JalaliMonth = Mid(JalaliDate, 4, 2) JalaliDay = Mid(JalaliDate, 1, 2) j_y = JalaliYear - 979 j_m = JalaliMonth - 1 j_d = JalaliDay - 1 j = (365 * j_y + Int(j_y / 33) * 8 + Int((j_y Mod 33 + 3) / 4) + 78 * j_m - Int((j_m + 1) / 6) + j_d) g = j + 1721425 gy = Int((4 * g - 1) / 146097) g = 4 * g - 1 - 146097 * gy gd = Int(g / 4) g = 4 * gd + 3 gm = Int(g / 1461) gd = g - 1461 * gm gm = Int((gm * 14 + 5) / 306) gy = 100 * (gy - 49) + gm + 49 g_m = gm + 3 g_d = gd + 1 GregorianDate = DateSerial(gy, g_m, g_d) JalaliToGregorian = Format(GregorianDate, "dd.mm.yyyy") End Function Sub ConvertDate() Dim SelectionText As String Dim ConvertedDate As String SelectionText = Selection.Text ConvertedDate = JalaliToGregorian(SelectionText) Selection.Text = ConvertedDate End Sub |
0
انجمن برنامه نویسان ویندوز
10 ماه
0 پاسخ ها
131 دیده شده
0
ارسال یک پاسخ
شما برای افزودن نظر جدید یا باید وارد شوید یا اینکه ثبت نام کنید. ورود ثبت نام