بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
4172 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
179
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
حمد لله على سلامتكم أستاذنا الغالي .. افتقدناكم
-
وعليكم السلام ورحمة الله وبركاته ,, أخي الفاضل رغم أن عملك ليس كاملاً بالطريقة التي تتبعها ، ولكنني سأفترض أن كل ملف PDF له اسم = رقم المعاملة . وأن هذه الملفات موجودة في مجلد اسمه Foksh بجانب قاعدة البيانات . لذا جرب هذه الفكرة :- Private Sub رقم_المعاملة_DblClick(Cancel As Integer) Dim pdfPath As String pdfPath = CurrentProject.Path & "\Foksh\" & Me.رقم_المعاملة.Value & ".pdf" If Dir(pdfPath) <> "" Then Application.FollowHyperlink pdfPath Else MsgBox "الملف غير موجود", vbInformation + vbMsgBoxRight, "" End If End Sub
-
تمام أخي اكريم ، سيتم التعديل على الفكرة بحيث نبتعد عن تثبيت اللغات المفضلة عند التشغيل للويندوز ، وسنذهب باتجاه آخر .. أعانك الله على الإنتظار والمتابعة
-
بالضبط ، سيتم تنفيذ الباتش دائماً ( فقط يلزمك تشغيله مرة واحدة ) بإعادة تثبيت اللغة العربية للدولة اتي اخترتها ( وأفترض = مصر ) عند كل تشغيل ويندوز . هذا يعني انه عند تشغيل الويندوز سيتم اعادة ضبط اللغات لتكون اثنتين فقط بدلاً من 4 أو أكثر
-
أخواني وأساتذتي ومعلمينا ( دون استثناء ) بعد قراءتي لموضوع الأخ @mohammed farhat في هذا الموضوع :- ازالة لوحة المفاتيح العربية الزائدة الناتجة عن اعدادت اللغة لتشغيل الاكسيس تبادر لي استخراج فكرة من مشروعي السابق ( تغيير لغة النظام في Unicode ) ، بحيث كانت فعلاً مشكلة تؤرق مطوري ومبرمجي آكسيس . حيث كانت النتيجة من تعداد الملفات التي نقوم بتحميلها تؤدي إلى إضافة أكثر من لغة في لوحات المفاتيح في نسخة الويندوز الخاصة بالمطور . وهنا يجدر بي الذكر إلى أن أحد أهم الأسباب أن بعض ملفات قواعد البيانات التي نقوم بتحميلها تأتي مرفقة بإعدادات لغة أو تخطيط لوحة مفاتيح مخصصة حسب جهاز المصدر ، خاصة إذا تم إنشاؤها أو تعديلها على أنظمة تشغيل بلغات مختلفة . فعند تشغيل الملف ، قد يقوم النظام تلقائياً بإضافة تلك اللغات لتوافق التنسيق أو الترميز المستخدم . وهنا ذَهبَت بي الحلول بعد تعددها إلى إنشاء باتش يجبر الويندوز عند التشغيل لإستعادة لوحات المفاتيح التي تهم المطور وهي عادةً :- اللغة الإنجليزية + اللغة العربية الخاصة ببلده . وفي التالي صورة من الموضوع الأصلي لشكل لوحات المفاتيح الغير مرغوب بها :- وسيلاحظ المستخدم إنه سيضطر للضغط على مفاتيح التبديل بين لغات لوحة المفاتيح اكثر من مرة للوصول الى اللغة التي يريدها . ومن هنا خرجتُ بفكرة الباتش الذي ما علينا إلا تشغيله مرة واحدة فقط لا غير ، واختيار البلد الذي نرغب بتثبيت لغة لوحة مفاتيحها ، من خلال الواجهة التالية :- لاحظوا أنني قمت بإضافة الدول العربية فقط لا غير ( الفكرة قابلة للتطوير لاحقاً للغات أخرى ثابتة ) . فمثلاً ولنفترض أنني اريد تثبيت لوحة المفاتيح العربية للأردن ، فسنختار رقم 3 ( كمثال ) ثم مفتاح الإدخال Enter فقط . وسيتكفل الباتش بترتيب الأمور بحيث عند كل تشغيل للويندوز سيتم تثبيت فقط اللغة الانجليزية والعربية للأردن كما في المثال . الباتش يعمل بصمت من خلال الأكواد التالية ، وقد تم إضافة شرح بسيط لكل حدث تلافياً من الخوف من أي ملفات أو خطوات غامضة :- ::attrib +r "%~f0" @echo off @echo off mode con:cols=75 lines=35 setlocal enabledelayedexpansion for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a" set "blue=%ESC%[1;34m" set "green=%ESC%[1;32m" set "cyan=%ESC%[1;36m" set "red=%ESC%[1;31m" set "yellow=%ESC%[1;33m" set "magenta=%ESC%[1;35m" set "reset=%ESC%[0m" echo. echo %blue%**********************************************%reset% echo %green%*** ***%reset% echo %cyan%*** %yellow%FFFFF%red%F %magenta%OOO %blue%KK KK %green%SSSS %cyan%HH HH %cyan%***%reset% echo %yellow%*** %red%FF %magenta%O O %blue%KK KK %green%SS %cyan%HH HH %yellow%***%reset% echo %red%*** %magenta%FFFFF %blue%O O %green%KKK %cyan%SS %yellow%HHHHHH %red%***%reset% echo %magenta%*** %blue%FF %green%O O %cyan%KK KK %yellow%SS %red%HH HH %magenta%***%reset% echo %blue%*** %green%FF %cyan%OOO %yellow%KK KK %red%SSSSS %magenta%HH HH %blue%***%reset% echo %green%*** ***%reset% echo %cyan%********************%yellow%2 %red%0 %magenta%2 %blue%5%cyan%*******************%reset% echo. :: باقي الكود يبقى كما هو... echo Select the Arabic country to add its keyboard layout: echo 1 - Egypt echo 2 - Saudi Arabia echo 3 - Jordan echo 4 - Iraq echo 5 - Morocco echo 6 - UAE echo 7 - Syria echo 8 - Lebanon echo 9 - Tunisia echo 10 - Algeria echo 11 - Kuwait echo 12 - Bahrain echo 13 - Oman echo 14 - Qatar echo 15 - Libya echo 16 - Sudan echo 17 - Yemen set /p choice=Enter the number of your choice (1-17) or 'X' to remove startup task: :: التحقق إذا كان المستخدم يريد إزالة المهمة if /i "%choice%"=="X" ( echo. echo Removing startup task... :: حذف المهمة المجدولة schtasks /Delete /TN "KeyboardShutdownFix" /F 2>nul :: حذف الملفات من مجلد Startup if exist "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\KeyboardFix.bat" ( del "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\KeyboardFix.bat" ) if exist "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\RunHidden.vbs" ( del "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\RunHidden.vbs" ) echo Startup task removed successfully! echo. echo Closing automatically in: timeout /t 1 /nobreak >nul & echo 3... timeout /t 1 /nobreak >nul & echo 2... timeout /t 1 /nobreak >nul & echo 1... exit /b ) set "localeID=" set "localeName=" if "%choice%"=="1" set localeID=00000C01& set localeName=ar-EG if "%choice%"=="2" set localeID=00000401& set localeName=ar-SA if "%choice%"=="3" set localeID=00002C01& set localeName=ar-JO if "%choice%"=="4" set localeID=00000801& set localeName=ar-IQ if "%choice%"=="5" set localeID=00001801& set localeName=ar-MA if "%choice%"=="6" set localeID=00003801& set localeName=ar-AE if "%choice%"=="7" set localeID=00002801& set localeName=ar-SY if "%choice%"=="8" set localeID=00003001& set localeName=ar-LB if "%choice%"=="9" set localeID=00001C01& set localeName=ar-TN if "%choice%"=="10" set localeID=00001401& set localeName=ar-DZ if "%choice%"=="11" set localeID=00003401& set localeName=ar-KW if "%choice%"=="12" set localeID=00003C01& set localeName=ar-BH if "%choice%"=="13" set localeID=00002001& set localeName=ar-OM if "%choice%"=="14" set localeID=00004001& set localeName=ar-QA if "%choice%"=="15" set localeID=00001001& set localeName=ar-LY if "%choice%"=="16" set localeID=00002C01& set localeName=ar-SD if "%choice%"=="17" set localeID=00002401& set localeName=ar-YE if not defined localeID ( echo. echo Invalid selection. Exiting... timeout /t 3 /nobreak >nul exit /b ) echo Applying keyboard settings immediately... reg delete "HKCU\Keyboard Layout\Preload" /f >nul 2>&1 reg delete "HKCU\Keyboard Layout\Substitutes" /f >nul 2>&1 reg add "HKCU\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f reg add "HKCU\Keyboard Layout\Preload" /v 2 /t REG_SZ /d %localeID% /f reg add "HKCU\Keyboard Layout\Substitutes" /v %localeID% /t REG_SZ /d %localeID% /f set psFile=%TEMP%\UpdateLang.ps1 echo $langList = Get-WinUserLanguageList > "%psFile%" echo $langList.Clear() >> "%psFile%" echo $langList.Add("en-US") >> "%psFile%" echo $langList.Add("%localeName%") >> "%psFile%" echo Set-WinUserLanguageList $langList -Force >> "%psFile%" powershell -ExecutionPolicy Bypass -File "%psFile%" set "shutdownScript=%TEMP%\KeyboardShutdownFix.bat" echo @echo off > "%shutdownScript%" echo reg delete "HKCU\Keyboard Layout\Preload" /f >nul 2^>^&1 >> "%shutdownScript%" echo reg delete "HKCU\Keyboard Layout\Substitutes" /f >nul 2^>^&1 >> "%shutdownScript%" echo reg add "HKCU\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f >> "%shutdownScript%" echo reg add "HKCU\Keyboard Layout\Preload" /v 2 /t REG_SZ /d %localeID% /f >> "%shutdownScript%" echo reg add "HKCU\Keyboard Layout\Substitutes" /v %localeID% /t REG_SZ /d %localeID% /f >> "%shutdownScript%" echo exit >> "%shutdownScript%" set "taskName=KeyboardShutdownFix" set "taskXml=%TEMP%\ShutdownTask.xml" echo ^<?xml version="1.0" encoding="UTF-16"?^> > "%taskXml%" echo ^<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"^> >> "%taskXml%" echo ^<RegistrationInfo^> >> "%taskXml%" echo ^<Description^>Fix keyboard layout before shutdown^</Description^> >> "%taskXml%" echo ^</RegistrationInfo^> >> "%taskXml%" echo ^<Triggers^> >> "%taskXml%" echo ^<SessionStateChangeTrigger^> >> "%taskXml%" echo ^<Enabled^>true^</Enabled^> >> "%taskXml%" echo ^<StateChange^>SessionLock^</StateChange^> >> "%taskXml%" echo ^</SessionStateChangeTrigger^> >> "%taskXml%" echo ^</Triggers^> >> "%taskXml%" echo ^<Principals^> >> "%taskXml%" echo ^<Principal id="Author"^> >> "%taskXml%" echo ^<UserId^>%USERDOMAIN%\%USERNAME%^</UserId^> >> "%taskXml%" echo ^<LogonType^>InteractiveToken^</LogonType^> >> "%taskXml%" echo ^<RunLevel^>HighestAvailable^</RunLevel^> >> "%taskXml%" echo ^</Principal^> >> "%taskXml%" echo ^</Principals^> >> "%taskXml%" echo ^<Settings^> >> "%taskXml%" echo ^<MultipleInstancesPolicy^>IgnoreNew^</MultipleInstancesPolicy^> >> "%taskXml%" echo ^<DisallowStartIfOnBatteries^>false^</DisallowStartIfOnBatteries^> >> "%taskXml%" echo ^<StopIfGoingOnBatteries^>false^</StopIfGoingOnBatteries^> >> "%taskXml%" echo ^<AllowHardTerminate^>true^</AllowHardTerminate^> >> "%taskXml%" echo ^<StartWhenAvailable^>false^</StartWhenAvailable^> >> "%taskXml%" echo ^<RunOnlyIfNetworkAvailable^>false^</RunOnlyIfNetworkAvailable^> >> "%taskXml%" echo ^<IdleSettings^> >> "%taskXml%" echo ^<StopOnIdleEnd^>true^</StopOnIdleEnd^> >> "%taskXml%" echo ^<RestartOnIdle^>false^</RestartOnIdle^> >> "%taskXml%" echo ^</IdleSettings^> >> "%taskXml%" echo ^<AllowStartOnDemand^>true^</AllowStartOnDemand^> >> "%taskXml%" echo ^<Enabled^>true^</Enabled^> >> "%taskXml%" echo ^<Hidden^>false^</Hidden^> >> "%taskXml%" echo ^<RunOnlyIfIdle^>false^</RunOnlyIfIdle^> >> "%taskXml%" echo ^<WakeToRun^>false^</WakeToRun^> >> "%taskXml%" echo ^<ExecutionTimeLimit^>PT5M^</ExecutionTimeLimit^> >> "%taskXml%" echo ^<Priority^>7^</Priority^> >> "%taskXml%" echo ^</Settings^> >> "%taskXml%" echo ^<Actions Context="Author"^> >> "%taskXml%" echo ^<Exec^> >> "%taskXml%" echo ^<Command^>"%shutdownScript%"^</Command^> >> "%taskXml%" echo ^</Exec^> >> "%taskXml%" echo ^</Actions^> >> "%taskXml%" echo ^</Task^> >> "%taskXml%" schtasks /Delete /TN "%taskName%" /F 2>nul schtasks /Create /TN "%taskName%" /XML "%taskXml%" /F set "startupBat=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\KeyboardFix.bat" set "vbsFile=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\RunHidden.vbs" echo @echo off > "%startupBat%" echo reg add "HKCU\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f >> "%startupBat%" echo reg add "HKCU\Keyboard Layout\Preload" /v 2 /t REG_SZ /d %localeID% /f >> "%startupBat%" echo reg add "HKCU\Keyboard Layout\Substitutes" /v %localeID% /t REG_SZ /d %localeID% /f >> "%startupBat%" echo exit >> "%startupBat%" echo Set WshShell = CreateObject("WScript.Shell") > "%vbsFile%" echo WshShell.Run "cmd /c call ""%startupBat%""", 0, False >> "%vbsFile%" echo. echo Keyboard settings applied successfully! echo. echo English (US) set as default. echo Arabic layout for selected country added as secondary. echo. echo Note: The system will maintain these settings automatically echo on every startup (no window will be visible). echo. echo Closing automatically in: timeout /t 1 /nobreak >nul & echo 3... timeout /t 1 /nobreak >nul & echo 2.. timeout /t 1 /nobreak >nul & echo 1. النتيجة مرهونة بتجاربكم طبعاً 😊 . الباتش تمت تجربته على العديد من إصدارات ويندوز 10 فما فوق . أي لم يتم تجربته على الإصدارات الأقل من ويندوز 10 ❌ الفكرة غير موجودة في أي منتدى عربي أو غربي . وهذا ما يميز منتديات أوفيسنا 😎 Foksh Layout.zip 💢 تحديث جديد في هذه المشاركة .
-
إلى كل من ساهم في إنجاح فكرتي ، والتي ترتكز على تطوير فكرة التفعيل من خلال الإنترنت ( دون الحاجة إلى أي رمز تفعيل يتلقاه المستخدم أو العميل من خلال مطور ومبرمج قاعدة البيانات ) . وقد تم من خلال التجارب التي شاركتموني إياها الحصول على جميع الأخطاء ، وحلها بشكل كامل وجذري بإذن الله . المشاركة إختيارية وليست إجبارية ، ولا عتب على من لا يرغب ، يكفينا أنه أنار المنتدى بمروره الكريم ، وسيتم تفعيل اشتراك أي مستخدم تلقائياً لحذف ملفات التفعيل السابقة ، استخدم ملف الحذف التالي حسب إصدار الأوفيس لديك . Clear64.zip أو Clear32.zip
-
يعمل بكفاءة .. شكراً لجهودك وعطاءك المستمرين أستاذ @عبدالله بشير عبدالله
-
جزاك الله خيراً أستاذ عبدالله ، كملاحظة :- الملف يعمل عند الاختيار بدون الفلترة بشكل صحيح 100% ، لكن عند الفلترة ، انظر الصورة التوضيحية
-
يغلق .. آخر مشاركة عمرها 9 سنوات .. تستطيع فتح موضوع جديد والإشارة إلى هذا الموضوع إذا أردت أي طلب وتعديل خاص .
-
أخي وائل ، تم تفعيل اشتراكك بنجاح .. جرب الآن الدخول الى البرنامج وانقر زر "تحقق من تفعيل النسخة" وللتأكيد انقر على زر علامة التعجب في اقصى اليسار في الأعلى ، وارسل صورة للنتيجة
-
وزائر آخر ينضم إلى كوكبة المسجلين حضورهم ، ينتهي بالرقم 146252 ، وزيارة عابرة كالعادة 😇
-
لاعب جديد ينضم إلى قائمة المسجلين لحضورهم على السيرفر ، ينتهي بالرقم 375526 ، وأيضاً لم يطالب بالتفعيل
-
كيف أكتب رموز رياضيات بدون اطار أو صندوق؟
Foksh replied to اسلام الكبابى أوفيسنا's topic in منتدي الوورد Word
شكراً لذوقك الرفيع 😎 -
كيف أكتب رموز رياضيات بدون اطار أو صندوق؟
Foksh replied to اسلام الكبابى أوفيسنا's topic in منتدي الوورد Word
-
أستاذ محمد ، تم تفعيل اشتراكك بنجاح .. جرب الآن الدخول الى البرنامج وانقر زر "تحقق من تفعيل النسخة" وللتأكيد انقر على زر علامة التعجب في اقصى اليسار في الأعلى ، وارسل صورة للنتيجة
-
عمل مشاركة لملف إكسل على جوجل درايف مع تفعيل الأكواد
Foksh replied to AbuuAhmed's topic in منتدى الاكسيل Excel
لا عليك أخي أبو أحمد ، شكراً لاهتمامك وردك اللطيف 💐 -
أخي محمد ،تم تفعيل اشتراكك بنجاح .. جرب الآن الدخول الى البرنامج وانقر زر "تحقق من تفعيل النسخة" وللتأكيد انقر على زر علامة التعجب في اقصى اليسار في الأعلى ، وارسل صورة للنتيجة
-
تم تسجيل جهاز جديد في الإنتظار ينتهي بالرقم :- 45860
-
أهلا بك أخي العضو الجديد @markoni .. الموضوع قديم ومضى عليه 3 سنوات .. وصاحب الموضوع لم يتابع بإكمال الموضوع باتباعه سياسة المنتدى وشروط إنشاء موضوع جديد
-
فعلاً ، ملاحظتك صحيحة ومهمة جداً ، وأنت محق في التنبيه عليها .. وعليه فإنه يمكن تعديل الدالة الأصلية لتصبح :- Function Date_Sex_Province(MyNumber As Variant, MyTest As Byte) Dim MyProvinces As Variant Dim r As Integer Dim yy As String Dim ty As String * 1 Dim D As String * 2, m As String * 2, y As String * 2 _ , x As String * 2, xx As String * 2 '============================================== ' يمكنك إضافة المحافظات الاخرى الغير موجودة ' او تعديل الموجود في حالات الخطأ MyProvinces = Array("01/القاهرة", "02/الإسكندرية", "03/بورسعيد", "04/السويس", "11/دمياط", "12/الدقهلية", "13/الشرقية" _ , "14/القليوبية", "15/كفر الشيخ", "16/الغربية", "17/المنوفية", "18/البحيرة", "31/البحر الأحمر", "32/الوادى الجديد" _ , "19/الإسماعيلية", "21/الجيزة", "22/بني سويف", "23/الفيوم", "24/المنيا", "25/أسيوط", "34/شمال سيناء", "35/جنوب سيناء" _ , "26/سوهاج", "27/قنا", "28/أسوان", "29/الأقصر", "33/مطروح", "88/خارج مصر") '============================================== Date_Sex_Province = "" On Error GoTo 1 If Len(Trim(MyNumber)) = 0 Then GoTo 1 End If If Not IsNumeric(MyNumber) Or Len(MyNumber) <> 14 Then Date_Sex_Province = "Error_MyNumber" GoTo 1 End If If MyTest = 1 Then D = Mid(MyNumber, 6, 2) m = Mid(MyNumber, 4, 2) y = Mid(MyNumber, 2, 2) ty = Left(MyNumber, 1) Select Case ty Case "2": yy = "19" & y Case "3": yy = "20" & y Case Else: yy = "" End Select If yy <> "" Then Date_Sex_Province = DateSerial(yy, m, D) ElseIf MyTest = 2 Then If Left(Right(MyNumber, 2), 1) Mod 2 = 1 Then _ yy = "ذكر" Else yy = "انثى" Date_Sex_Province = yy ElseIf MyTest = 3 Then x = Mid(MyNumber, 8, 2) For r = LBound(MyProvinces) To UBound(MyProvinces) xx = MyProvinces(r) If x = xx Then Date_Sex_Province = Right(MyProvinces(r), Len(MyProvinces(r)) - 3) Exit For End If Next End If 1: End Function أي أن ما تم تعديله هو الجزء :- Select Case ty Case "2": yy = y Case "3": yy = "20" & y ليصبح :- Select Case ty Case "2": yy = "19" & y Case "3": yy = "20" & y جزاك الله خيراً أخي @منتصر الانسي ، عادة لا أقوم بالتعديل على أي جزء لم يتطرق له صاحب الطلب ( معتقداً انه يلبي حاجته دون التوسع في الإحتمالات 😅 )
-
شكراً لك دعمك أخي جمال .. تم تفعيل الإشتراك مدة 270 يوم ، أي أن التفعيل سيكون لتاريخ 2026-06-25 . ونرجو تأكيد ذلك من خلال صورة بعد النقر على زر "تحقق من تفعيل النسخة" ، وإعلامنا بالنتيجة والمدة الحالية لديك