نمایش محتوای اصلی
در حال بارگذاری ...
Search
سبد خرید (0)

قدرت برنامه نویسی با VBA در Excel 2019، جلد 2

( این کتاب ناموجود است )
حسین یعسوبی
(1 امتیاز)
شابک: 8-90-8201-600-978

 جدول‌های Pivot Tables و تکنیک‌های پیشرفته VBA  کار با UserForm و ایجاد پنجره‌های سفارشی پیشرفته  ایجاد و استفاده از افزونه‌ها (Plug-ins)  ایجاد ریبون، منوهای میان‌بر، و Help سفارشی  آشنایی بیشتر با ماژول‌های کلاس  تعامل با برنامه‌های دیگر، استفاده از داده‌ها و فایل‌های خارجی

1399
450
86,000 تومان 95,000 تومان
-
+
نوبت چاپ یک
ویرایش یک
وزن 700 گرم
جلد 2 از 2
موجود است؟ خیر
چاپ شده است؟ بلی
در حال پیش فروش است؟ خیر
کتاب الکترونیکی است؟ خیر
اگر اکسل کار هستید، تازمانی‌که با VBA کار نکنید هیچ لذتی از اکسل نخواهید برد. دنیایی با افقی پهناور که با دوربین VBA می‌توان دوردست‌هایش را کنکاش کرد و به ماورایش رفت و در سایه ماژول‌های غول پیکرش، آبجکت‌هایش را نوازش کرد و توابعش را در آغوش کشید و فرمول‌‌های ظریفی تولید کرد! بدون هیچ پیش زمینه برنامه‌نویسی، کافیست دستان ما را بگیرید و سوار بر قالیچه پرنده این کتاب شوید تا سفری رؤیایی به کالبد اکسل کنیم و لحظات نابی را با هم تجربه نماییم.
بخش 2؛ تکنیک‌های پیشرفته VBA 317
فصل 8؛ کار با جدول‌های چرخشی (PIVOT TABLES) 319
مثالی مقدماتی از جدول محوری 319
ایجاد یک جدول چرخشی 320
در حاشیه: داده‌های مناسب برای یک جدول چرخشی 322
آزمایش کدهای ضبط شده برای جدول چرخشی 322
پاک‌سازی کدهای ضبط شده جدول چرخشی 323
در حاشیه: سازگاری جدول چرخشی 324
ایجاد یک جدول چرخشی پیچیده‌تر 325
کد ایجاد کننده جدول چرخشی 327
جدول چرخشی پیچیده‌تر چگونه کار می‌کند 328
ایجاد جدول‌های سفارشی چندگانه 329
ایجاد یک جدول چرخشی معکوس 332
فصل 9؛ کار با نمودارها 335
در اعماق نمودارها 335
مکان نمودارها 336
ضبط‌کننده ماکرو و نمودارها 336
در حاشیه: نکته‌ سازگاری 337
مدل شئ Chart 337
ایجاد یک نمودار تعبیه‌ای (Embedded Chart) 338
ایجاد یک نمودار روی یک برگه نموداری 340
اصلاح نمودارها 340
استفاده از VBA برای فعال‌سازی یک نمودار 342
جابه‌جایی یک نمودار 342
در حاشیه: آشنایی با Chart Names 343
استفاده از VBA برای غیرفعال کردن یک نمودار 344
تعیین فعال بودن یا نبودن یک نمودار 344
حذف از ChartObjects یا Charts Collection 345
حلقه‌زنی روی همه نمودارها 346
سایزبندی و ترازبندی ChartObjectها 348
ایجاد تعدادی نمودار 349
برون‌ریزی یک نمودار (Export) 352
برون‌ریزی همه گرافیک‌ها 353
تغییر داده‌های استفاده شده در نمودار 354
در حاشیه: آشنایی با فرمول SERIES نمودار 354
تغییر داده‌های نمودار برپایه سلول فعال 356
استفاده از VBA برای تعیین بازه‌های به‌کار رفته در یک نمودار 357
نمایش برچسب‌های سفارشی داده‌های نمودار به‌کمک VBA 360
نمایش یک نمودار در یک UserForm 363
آشنایی با رویدادهای Chart 366
مثالی از کاربرد رویدادهای Chart 366
توانایی رویدادها برای یک نمودار تعبیه‌ای 369
ایجاد ماژول کلاس 369
اعلان یک شئ Chart عمومی 369
اتصال شئ اعلانی به نمودار 369
نوشتن رویه‌های رسیدگی‌کننده رویداد برای کلاس نمودار 370
مثال: استفاده از رویدادهای Chart به‌همراه یک نمودار تعبیه‌‌ای 370
کشف ترفندهای نمودارکشی VBA 372
چاپ نمودارهای تعبیه‌ای روی تمام صفحه 373
ایجاد نمودارهای غیرپیوندی 373
نمایش متن با رویداد MouseOver 375
جابه‌جا کردن یک نمودار 377
کار با Sparkline Charts 379
فصل 10؛ تعامل با برنامک‌های دیگر 383
آشنایی با اتوماسیون مایکروسافت آفیس 383
شناخت مفهوم Binding (انقیاد) 384
انقیاد زودرس 384
انقیاد دیررس 385
درحاشیه: GetObject در مقابل CreateObject 386
یک مثال خودکارسازی ساده 386
خودکارسازی Access از Excel 387
اجرای یک کوئری Access از Excel 387
اجرای یک ماکروی Access از Excel 388
خودکارسازی Word از Excel 389
ارسال داده‌های Excel به یک سند Word 389
شبیه‌سازی Mail Merge با یک سند Word 391
خودکارسازی PowerPoint از Excel 393
فرستادن داده‌های اکسل در یک ارائه PowerPoint 393
فرستادن همه نمودارهای Excel در یک ارائه PowerPoint 394
تبدیل یک کارپوشه به یک ارائه پاورپوینت 396
خودکارسازی Outlook از Excel 397
ایمیل کردن کارپوشه فعال به‌شکل یک پیوست 397
ایمیل یک بازه مشخص به‌شکل یک پیوست 398
ایمیل کردن یک کاربرگ به‌شکل یک پیوست 399
ایمیل کردن همه آدرس‌های ایمیل درون فهرست تماس‌ها 400
آغاز برنامک‌های دیگر از اکسل 401
استفاده از تابع Shell در VBA 402
در حاشیه: نمایش پنجره یک پوشه 404
استفاده از تابع Windows ShellExecute API 404
استفاده از AppActivate 406
اجرای پنجره‌های Control Panel 406
فصل 11؛ کار با داده‌های خارجی و فایل‌ها 409
کار با اتصال‌های داده‌های خارجی 409
مبانی Power Query 410
آشنایی با گام‌های کوئری 416
تازه‌سازی داده‌های Power Query 417
مدیریت کوئری‌های موجود 418
به‌کارگیری VBA برای ایجاد اتصال‌های پویا 419
تکرار همه اتصال‌های درون یک کارپوشه 421
استفاده از ADO و VBA برای بیرون کشیدن داده‌های خارجی 422
رشته اتصال 423
اعلان یک رکوردست 424
ارجاع به کتابخانه شئ ADO 425
درج همه آنها با هم در کد 426
استفاده از ADO به‌همراه کارپوشه فعال 428
کوئری گرفتن داده‌ها از یک کارپوشه اکسل 428
پیوست کردن رکوردها به یک جدول موجود در اکسل 429
کار با فایل‌های متنی 430
باز کردن یک فایل متنی 431
خواندن یک فایل متنی 432
نوشتن یک فایل متنی 432
دست‌یابی به یک شماره فایل 433
تعیین یا تنظیم موقعیت فایل 433
در حاشیه:ویژگی‌های درون‌ریزی و برون‌ریزی فایل متنی اکسل 433
گزاره‌هایی برای خواندن و نوشتن 434
مثال‌های دست‌کاری فایل متنی 434
درون‌ریزی داده‌ها در یک فایل متنی 435
برون‌ریزی یک بازه در یک فایل متنی 435
درونریزی یک فایل متنی در یک بازه 436
ثبت و ضبط میزان استفاده از اکسل 437
فیلتربندی یک فایل متنی 438
انجام عملیات مرسوم فایل 439
به‌کارگیری گزاره‌های فایل‌-محور VBA 439
یک تابع VBA برای تعیین موجود بودن یک فایل 440
یک تابع VBA برای تعیین موجود بودن مسیر یک فایل 441
رویه VBA برای نمایش فهرستی از فایل‌های درون یک شاخه 441
یک رویه VBA برای نمایش فهرستی از فایل‌ها در شاخه‌‌های تودرتو 443
استفاده از شئ FileSystemObject 445
استفاده از FileSystemObject برای تعیین موجود بودن فایل 446
استفاده از FileSystemObject برای تعیین موجود بودن یک مسیر 446
استفاده از FileSystemObject در فهرستکردن اطلاعات همه درایوهایدیسک موجود 446
فشرده‌سازی و باز کردن فایل‌ها (Zipping) 447
زیپ کردن فایل‌ها 448
از زیپ خارج ساختن یک فایل 449
بخش 3؛ کار با USERFORM 451
فصل 12؛ شیوه به‌کارگیری پنجره‌های سفارشی 453
جایگزین‌های UserForm 453
استفاده از یک کادر ورودی (Input Box) 454
استفاده از تابع InputBox در VBA 454
استفاده از متد Application.InputBox 457
استفاده از تابع MsgBox در VBA 460
استفاده از متد GetOpenFilename در اکسل 465
استفاده از متد GetSaveAsFilename در اکسل 468
درخواست یک پوشه 469
نمایش پنجره‌های محاوره‌ای پیش‌ساخته اکسل 469
در حاشیه: اجرای یک دایرکتوری قدیمی Menu Item 471
نمایش یک Data Form 472
ساخت فرم داده قابل دسترس 473
در حاشیه: افزودن Form Command به نوارابزار Quick Access 473
نمایش یک فرم داده با استفاده از VBA 473
فصل 13؛ آشنایی با USERFORM 475
چگونگی رفتار اکسل با پنجره‌های سفارشی 475
افزودن یک UseForm جدید 476
افزودن کنترل‌ها به یک UserForm 477
کنترل‌های Toolbox 477
ChekBox 478
ComboBox 478
CommandButton 479
Frame 479
Image 479
Label 479
ListBox 479
MultiPage 480
OptionButton 480
RefEdit 480
ScrollBar 480
SpinButton 480
TabStrip 481
TextBox 481
ToggleButton 481
در حاشیه: استفاده از کنترل‌های روی یک کاربرگ 481
اصلاح کنترل‌های UserForm 483
تنظیم مشخصه‌های یک کنترل 484
استفاده از پنجره Properties 485
مشخصه‌های مشترک 487
در حاشیه 487
در حاشیه: استفاده از یک قرارداد نام‌گذاری 488
تطبیق صفحه کلید کاربران 489
تغییر ترتیب tab کنترل‌ها 489
تنظیم hot keys 490
در حاشیه: آزمایش یک UserForm 491
نمایش یک UserForm 491
تنظیم مکان نمایش 492
نمایش یک یوزرفرم modeless 492
نمایش یک UserForm برپایه یک متغیر 493
لود کردن یک UserForm 493
درباره رویه‌های رسیدگی‌کننده رویداد 493
بستن یک UserForm 494
ایجاد یک یوزرفرم: مثال 495
ایجاد UserForm 495
نوشتن کد برای نمایش پنجره محاوره‌ای 498
آزمایش پنجره 498
افزودن رویه‌های رسیدگی‌کننده رویداد 499
پنجره پایانی 501
آموزش درباره رویدادها 501
رویدادهای SpinButton 503
رویدادهای آغازگر ماوس 505
رویدادهای آغازگر کیبورد 505
درمورد رویدادهای آغازگر کد چه؟ 505
جفت کردن یک SpinButton با یک TextBox 505
درحاشیه: درباره مشخصه Tag 507
ارجاع به کنترل‌های UserForm 508
در حاشیه: آشنایی با کلکسیون کنترل‌ها 509
سفارشی‌سازی ToolBox 510
افزودن صفحات جدید به جعبه‌ابزار 510
افزودن صفحات جدید به Toolbox 510
سفارشی‌سازی یا ترکیب کنترل‌ها 510
افزودن دیگر کنترل‌های اکتیوایکس 512
ایجاد الگوهای UseForm Template 513
در حاشیه: تقلید پنجره‌های محاوره‌ای اکسل 513
چک‌لیست یوزرفرم 514
فصل 14؛ نگاهی به مثال‌های USERFORM 515
ایجاد یک منوی یوزرفرم 515
استفاده از CommandButtons در یک UserForm 515
استفاده از یک لیست‌‌باکس در یک یوزرفرم 516
انتخاب بازه‌ها از یک UserForm 517
ایجاد یک Splash Screen 519
غیرفعال کردن دکمه Close یوزرفرم 521
درحاشیه: پیشگیری از شیوع ماکرو 522
تغییر اندازه یک یوزرفرم 522
زوم کردن و جابه‌جایی برگه‌ای از روی یک یوزرفرم 524
بررسی فنون ListBox 526
افزودن آیتم‌ها به یک کنترل ListBox 527
افزودن آیتم‌ها به یک لیست‌باکس در زمان طراحی 527
در حاشیه: اطمینان از به‌کار بردن بازه مناسب 528
افزودن آیتم‌ها به یک لیست‌باکس در زمان-اجرا 528
افزودن تنها عناصر یکتا به یک لیست‌باکس 529
تعیین عنصر انتخابی در یک لیست‌باکس 531
تعیین چند انتخاب در یک لیست‌باکس 532
لیست‌های چندتایی در یک لیست‌باکس تکی 533
انتقال آیتم لیست‌باکس 534
جابه‌جایی عناصر درون یک لیست‌باکس 536
کار با کنترل‌های ListBox چندستونی 537
استفاده از یک لیست‌باکس برای انتخاب ردیف‌های کاربرگ 539
استفاده از یک لیست‌باکس برای فعال‌سازی یک برگه 541
استفاده از یک تکست‌باکس برای فیلتر کردن یک لیست‌باکس 544
استفاده از کنترل MultiPage در یک یوزرفرم 546
استفاده از یک کنترل خارجی 548
متحرک‌سازی یک لیبل 550
فصل 15؛ انجام فنون پیشرفته USERFORM 553
یک پنجره modeless 553
در حاشیه: یوزرفرم‌های مدلس در اکسل 2019 557
نمایش یک نماد پیشرفت 557
در حاشیه: نمایش پیشرفت در نوار وضعیت 558
ایجاد یک نماد پیشرفت مستقل 559
ساخت یوزرفرم برای نماد پیشرفت مستقل 560
ایجاد کد جلوبرنده‌ی میله پیشرفت 560
فراخوانی نماد پیشرفت مستقل، از درون کد 561
فایده یک نماد پیشرفت مستقل 562
نشان دادن نماد پیشرفتی که در یک یوزرفرم یکپارچه شده 562
اصلاح یوزرفرم برای یک نماد پیشرفتِ همراه با کنترل MultiPage 563
افزودن رویه UpdateProgress برای یک نماد پیشرفتِ همراه با یک کنترل MultiPage 564
اصلاح رویه برای نماد پیشرفت همراه با یک کنترل MultiPage 564
چگونه یک نماد پیشرفت، با یک کنترل MultiPage کار می‌کند 565
نشان دادن یک نماد پیشرفت، بدون استفاده از یک کنترل MultiPage 565
ایجاد یک نماد پیشرفت غیرگرافیکی 566
ایجاد یوزرفرم برای نمایش گام‌ها 567
اصلاح رویه فراخوانی‌کننده برای استفاده از نماد پیشرفت 567
ایجاد ویزاردها 568
تنظیم کنترل MultiPage برای ویزارد 569
افزودن دکمه‌ها به یوزرفرم ویزارد 570
برنامه‌نویسی دکمه‌های ویزارد 570
برنامه‌نویسی وابستگی‌ها در یک ویزارد 572
انجام دادن کار به‌کمک ویزارد 574
تقلید از تابع MsfBox 575
تقلید از MsgBox: کد MyMsgBox 576
تابع MyMsgBox چگونه کار می‌کند؟ 577
استفاده از تابع MyMsgBox 579
یوزرفرمی با کنترل‌های متحرک 579
یوزرفرمی بدون نوار عنوان 580
شبیه‌سازی یک نوارابزار به‌کمک یک یوزرفرم 582
تقلید یک Task Pane به‌کمک یک یوزرفرم 584
یوزرفرمی با قابلیت تغییر سایز 585
رسیدگی به چند کنترل یوزرفرم با یک رسیدگی‌کننده رویداد 589
انتخاب یک رنگ در یک یوزرفرم 592
نمایش یک نمودار در یک یوزرفرم 594
ذخیره یک نمودار به‌شکل یک فایل GIF 595
تغییر مشخصه Picture کنترل Image 595
ایجاد یک یوزرفرم نیمه شفاف 595
پازلی روی یوزرفرم 597
پوکر ویدئویی روی یک یوزرفرم 598
بخش 4؛ توسعه برنامک‌های اکسل 599
فصل 16؛ ایجاد و استفاده از افزونه‌ها 601
افزونه یا Add-In چیست؟ 601
مقایسه یک افزونه با یک کارپوشه استاندارد 602
چرا افزونه‌ها را می‌سازیم؟ 603
در حاشیه: درباره افزونه‌های COM 604
آشنایی با مدیر افزونه‌ی اکسل (Add-in Manager) 604
ایجاد یک افزونه 606
در حاشیه: چند کلام درباره گذرواژه‌ها 607
مثالی از یک Add-in 607
افزودن اطلاعات توصیفی برای مثال افزونه 609
ایجاد یک افزونه 609
در حاشیه: درباره مدیر افزونه‌های اکسل 610
نصب یک افزونه 611
آزمایش افزونه 611
توزیع یک افزونه 612
اصلاح یک افزونه 612
در حاشیه: چک لیست ایجاد یک افزونه 612
مقایسه فایل‌های XLAM و XLSM 613
فایل XLAM، عضوی از کلکسیون VBA 613
مشهود بودن فایل‌های XLSM و XLAM 614
کاربرگ‌ها و برگه‌های نموداری در فایل‌های XLAM و XLSM 614
دسترسی به رویه‌های VBA در یک افزونه 615
در حاشیه: کار روی یک افزونه محافظت شده 617
دست‌کاری افزونه‌ها با VBA 619
افزودن یک عنصر به کلکسیون AddIns 619
حذف یک عنصر از کلکسیون AddIns 621
مشخصه‌های شئ AddIn 621
مشخصه Name یک شئ AddIn 621
مشخصه Path یک شئ AddIn 621
مشخصه FullName یک شئ AddIn 622
مشخصه Title یک شئ AddIn 622
مشخصه Comments یک شئ AddIn 623
مشخصه Installed یک شئ AddIn 623
دسترسی به یک افزونه به‌عنوان یک کارپوشه 624
رویدادهای شئ AddIn 625
بهینه‌سازی بازدهی افزونه‌ها 626
مشکلات ویژه با افزونه‌ها 627
اطمینان از نصب یک افزونه 627
ارجاع به دیگر فایل‌ها از یک افزونه 629
فصل 17؛ کار با ریبون 631
مبانی ریبون 631
سفارشی‌سازی ریبون 633
افزودن یک دکمه به ریبون 633
در حاشیه: افزودن ماکرو به یک گروه سفارشی روی ریبون 635
افزودن یک دکمه به نوارابزار Quick Access 636
آشنایی با محدودیت‌های سفارشی‌سازی ریبون 638
ایجاد یک ریبون سفارشی 639
افزودن یک دکمه به یک برگه‌ریبونی موجود 639
در حاشیه: مشاهده خطاهای خود 639
در حاشیه: استفاده از کد RibbonX برای تغییر دادن ریبون 640
کد RibbonX 642
رویه‌های پاسخ یا callback 644
بخش CUSTOM UI 644
درحاشیه: استفاده از تصاویر imageMso 645
افزودن یک چک‌باکس به یک برگه‌ریبونی موجود 646
کد RibbonX 646
کد VBA 647
دموی کنترل‌های ریبون 648
ایجاد یک گروه ریبونی 649
ایجاد کنترل‌ها 650
مثالی از کنترل dynamicMenu 657
مطالب بیشتری درباره سفارشی‌سازی ریبون 659
استفاده از VBA با ریبون 661
دسترسی به یک کنترل ریبون 661
کار با ریبون 662
فعال‌سازی یک برگه 664
ایجاد یک نوارابزار سبک قدیمی 665
محدودیت‌های نوارابزارهای سبک قدیم 665
کد ساخت یک نوارابزار 666
فصل 18؛ کار با منوهای میان‌بر 669
بازبینی CommandBar 669
انواع CommandBar 670
منوهای میان‌بر لیست‌بندی 670
ارجاع به CommandBarها 671
ارجاع به کنترل‌های درون یک CommandBar 672
درحاشیه: یافتن یک کنترل 672
مشخصه‌های کنترل‌های CommandBar 673
نمایش همه عناصر منوی میان‌بر 674
استفاده از VBA برای سفارشی‌سازی منوهای میان‌بر 675
منوی میان‌بر و رابط کاربری تک-سندی 675
در حاشیه: سفارشی‌سازی منوهای میان‌بر با کد RibbonX 676
بازگرداندن یک منوی میان‌بر 677
غیرفعال کردن یک منوی میان‌بر 679
غیرفعال کردن عناصر منوی میان‌بر 679
افزودن عنصر جدیدی به منوی میان‌بر Cell 679
افزودن یک زیرمنو به یک منوی میان‌بر 681
محدودسازی یک منوی میان‌بر به یک تک کارپوشه 683
در حاشیه: یافتن تصاویر FaceID 684
منوهای میان‌بر و رویدادها 685
افزودن و حذف دستی منوها 685
غیرفعال کردن یا پنهان‌سازی عناصر منوی میان‌بر 685
ایجاد یک منوی میان‌بر حساس به بزرگی حروف 686
فصل 19؛ تهیه HELP برای برنامک 689
کمک برای برنامک‌های اکسل خود 689
در حاشیه: درباره مثال‌های این فصل 690
سامانه‌های Help که از اجزای اکسل استفاده می‌کند 691
استفاده از کامنت‌های سلولی برای کمک 692
استفاده از یک تکست‌باکس برای کمک 693
استفاده از یک کاربرگ برای نمایش متن کمک 694
نمایش کمک در یک یوزرفرم 695
استفاده از کنترل‌های Label برای نمایش متن کمکی 696
در حاشیه: استفاده از کنترل tips روی یک یوزرفرم 697
استفاده از یک لیبل جابه‌جایی برای نمایش متن کمک 697
استفاده از یک کنترل ComboBox برای انتخاب یک عنوان کمکی 698
نمایش Help در یک مرورگر وب 699
استفاده از فایل‌های HTML 700
استفاده از یک فایل MHTML 700
استفاده از سامانه HTML Help 702
استفاده از متد Help برای نمایش HTML Help 703
وابسته کردن یک فایل کمکی به برنامک 704
مرتبط ساختن یک عنوان کمکی با یک تابع VBA 705
در حاشیه: فعالیت 705
فصل 20؛ کار با ماژول‌های کلاس 707
ماژول کلاس چیست؟ 707
ماژول‌های کلاس درون‌ساخت 708
ماژول‌های کلاس سفارشی 709
کلاس‌ها و اشیاء 709
اشیاء، مشخصه‌ها، و متدها 709
ایجاد یک کلاس NumLock 710
افزودن یک ماژول کلاس 711
افزودن کد VBA به ماژوال کلاس 711
استفاده از کلاس CNumLock 713
کدنویسی مشخصه‌ها، متدها و رویدادها 714
مشخصه‌های برنامه‌نویسی اشیاء 714
متد‌های برنامه‌نویسی اشیاء 716
رویدادهای ماژول کلاس 716
افشای رویداد QueryTable 717
در حاشیه: فعالیت 718
ایجاد یک کلاس برای نگه داشتن کلاس‌ها 720
ایجاد کلاس‌های CSalesRep و CSalesReps 721
ایجاد کلاس‌های Clnvoice و CInvoices 723
پر کردن کلاس‌های والد با اشیاء 724
محاسبه کمیسیون‌ها 725
فصل 21؛ آشنایی با مشکلات سازگاری 729
سازگاری چیست؟ 729
انواع مشکلات سازگاری 730
درحاشیه: Microsoft Office Compatibility Pack 731
پرهیز از به‌کار بردن ویژگی‌های جدید 732
در حاشیه: تعیین شماره نسخه اکسل 732
آیا آن روی یک Mac کار می‌کند؟ 734
کار با اکسل 64 بیتی 735
ایجاد یک برنامک بین‌المللی 736
برنامک‌های چند زبانی 738
ملاحظات زبان VBA 739
استفاده از مشخصه‌های محلی 739
شناسایی تنظیمات سیستم 740
تنظیمات تاریخ و زمان 742
# موضوع عنوان توضیح دانلود
1 نمونه pdf صفحات آغازین کتاب دانلود
امتیاز
4.85/5 (400 نظر)
ثبت نظر/پرسش/پیشنهاد
;