جستجو

ترفندهای کامپیوتری

حضرت علی (ع): «زَکوةُ العِلمِ نَشرُهُ؛ زکات علم نشر آن است».
وبلاگ "ترفندها" (سایت پی‌سی‌ترفند) برای عمل به این حدیث شریف و با هدف ارتقاء دانش و مهارت‌های مرتبط با رایانه در ۳۰ مهرماه ۱۳۹۱ ایجاد شده است. به امید آنکه مفید واقع شود.
🔵 کانال‌های پی‌سی‌ترفند در تلگرام و سروش:
telegram.me/pctarfand_ir
sapp.ir/pctarfand_ir

خلاصه آمار

تبليغات

استخراج اطلاعات از چندین فایل ورد و انتقال آن به یک فایل اکسل + ماکرو

اکسل ورد ماکرونویسی

یکی از کاربران سوالی را با این مضمون مطرح کردند که "آیا می‌توان اطلاعات درون چندین فایل ورد با ساختار مشابه اما دارای اطلاعات متفاوت را بصورت خودکار درون یک فایل اکسل لیست کرد؟" در پاسخ به این سوال باید گفت که با استفاده از ماکرو در اکسل چنین امکانی وجود دارد. در ادامه مطلب با پی‌سی‌ترفند همراه باشید تا با نحوه انجام اینکار آشنا شوید.

حالت اول) استخراج اطلاعات جدول موجود در فایل‌های ورد

فرض کنید ۱۰۰ فایل ورد دارید که دارای جدولی به فرم زیر هستند و شما می‌خواهید اطلاعات این جدول از تمام این فایل‌های ورد استخراج و در یک فایل اکسل لیست شود.

برای اینکار ابتدا فایل ماکروی زیر را دانلود کنید.

پس از دانلود و باز کردن فایل اکسل فوق، مطابق راهنمای درون فایل، روی دکمه اجرای ماکروی ۱ کلیک کنید تا پنجره‌ای باز شود. در پنجره باز شده باید مکان پوشه‌ فایل‌های ورد را مشخص کرده و روی دکمه ok کلیک کنید. سپس پنجره ای دیگر باز می شود که باید شماره جدول موجود در فایل های ورد را مشخص کنید. مثلا اگر قرار است اطلاعات دومین جدول در همه فایل های ورد در اکسل لیست شود عدد ۲ را وارد کنید. پس از اینکار نتیجه‌ زیر حاصل می‌شود:

نکته ۱: ردیف اول بصورت دستی به فایل اضافه شده است و فونت بصورت دستی تغییر داده شده است.

منبع با تغییر: excelforum.com

حالت فوق یک حالت خاص می‌باشد که برای یک نوع جدول مشخص قابل استفاده است به‌طوری‌که در آن بصورت گزینشی برخی از سلول‌ها انتخاب و به فایل اکسل منتقل شده‌اند.

اگر به کدی نیاز دارید که جامع‌تر باشد به این سایت مراجعه کنید. با استفاده از این کد تمام سلول‌های درون جدول داخل فایل ورد به اکسل منتقل می‌شوند مشابه شکل زیر:

 

در کد دیگری که در این سایت قرار داده شده است جداول عینا به اکسل منتقل می‌شوند با حفظ فونت و بدون هیچ گونه جابجایی سلول‌ها. مشابه شکل زیر:

 

کدهای دیگری برای حالاتی مشابه حالت اول را در سایت‌های زیر مشاهده کنید:

۱- exceltrainingvideos.com

۲- vbaexpress.com


حالت دوم) استخراج اطلاعات داخل متن موجود در فایل‌های ورد

در اینحالت برای اینکه اطلاعاتی که قصد استخراج آن را داریم از سایر اطلاعات درون فایل ورد متمایز باشد باید اطلاعات مورد نظر دارای یک کاراکتر خاص باشند. مثلا در شکل زیر اطلاعات مورد نظر مقابل کاراکتر : قرار دارند و در انتها به اینتر ختم می‌شوند.

پس از دانلود فایل اشاره شده در حالت اول (لینک دانلود فایل) و باز کردن آن، عناوین اطلاعاتی که می‌خواهید از فایل‌های ورد استخراج شود را در ردیف اول درج کنید (مثل شکل زیر) تا اکسل پس از جستجو و یافتن این عناوین در متن، اگر پس از آن‌ها ":" بود، اطلاعات بین ":" و اینتر را استخراج کند. 

سپس مطابق راهنمای درون فایل، روی دکمه اجرای ماکروی ۲ کلیک کنید تا پنجره‌ای باز شود. در پنجره باز شده باید مکان پوشه‌ فایل‌های ورد را مشخص کرده و روی دکمه ok کلیک کنید. پس از اینکار نتیجه‌ زیر حاصل می‌شود:

منبع: vbaexpress.com

کد دیگری برای حالتی مشابه حالت دوم را در سایت‌ زیر مشاهده کنید:

techsupportforum.com


حالت سوم) استخراج اطلاعات وارد شده در فرم ساخته شده در فایل‌های ورد

برای اینحالت به سایت‌های زیر مراجعه کنید:

۱- techrepublic.com

۲- pcreview.co.uk

عضویت در خبرنامه:

برای مطلع شدن از جدیدترین مطالب سایت، کانال‌های پی‌سی‌ترفند در تلگرام و سروش را با آی‌دی pctarfand_ir@ دنبال کنید:

          

سوالات خود در زمینه ورد و اکسل و ... را می‌توانید از طریق ایمیل و پیام‌رسان سروش با ما مطرح کنید.

آدرس ایمیل: tarfandha.blog@gmail.com

آی‌دی سروش: pctarfand_info@

گروه سروش:

نظرات (۱۸)

  1. با سلام
    پیشاپیش ممنونم از راهنماییتون
    من 170 فایل
    word
    دارم که باید از هر کدوم یه سری اطلاعات رو به
    exel
    .خروجی بگیرم
    ممنون میشم راهنماییم کنید. چون فرمتش متفاوت هست با نمونه های داخل سایت
    فایل ورد به صورت فرمی پر شده و اظلاعات داخل box هست. نمونه فایل رو براتون ایمیل کردم
    • پاسخ:

      سلام
      متاسفانه ظاهرا اینکار قابل انجام نیست.
  2. با سلام نمونه فایل رو براتون به ایمیل گفته شده ارسال کردم دیروز مجدد ارسال میکنم
  3. در اصل من متن داخل ورد رو از روی سایت کپی کردم و داخل ورد پیست کردم به طور اتوماتیک هرکدوم بعد دو نقطه و اینتر هم بعدش هست
    • پاسخ:

      یک نمونه از فایل خود را برای من بفرستید تا بررسی کنم.
  4. بله تماما بعد از دو نقطه و اینتر هم بعد هر کدوم هست.ببینید ورد من شامل 3000 نام و نام خانوادگی و آدرس هست.هر کدوم بعد ز دو نقطه و بعدش هم اینتر هست.میخوام کلا وارد اکسل بشه.
  5. با سلام
    در حالت دوم فقط یک مورد را وارد اکسل میکند.در صورتی که در یک فایل ورد چندین نام داشته باشیم چگونه میتوان آنها تماما وارد اکسل کرد؟
    • پاسخ:

      سلام
      نام ها مشابه مثال بین دو نقطه و اینتر هستند؟
  6. با سلام و عرض تشکر بابت مطالب ارزنده ی شما
    سوالم این هست که برای کپی جدولی از یک سامانه که فیلدهای آن بصورت تکست باکس هست به اکسل بصورتی که بتوان روی آن عملیات ریاضی انجام داد یعنی بصورت تکست باکس کپی نشود چگونه است؟
    با تشکر
    • پاسخ:

      سلام
      با استفاده از ماکرو که در این سایت توضیح داده شده است می‌توان اینکار را انجام داد.
      موفق باشید.
  7. ضمن عرض سلام و ارادت

    یک نسخه از فرم مورد نظر را در تاریخ های 10و13و25و26 /1395/04 با موضوع راهنمایی در رابطه با انتقال جدول ورد به اکسل به آدرس داده شده ایمیل نمودم ولیکن تاکنون پاسخی دریافت ننموده ام  لطفاً راهنمایی بفرمائید.

    کمال تشکر و امتنان را دارم

    • پاسخ:

      سلام
      نمی‌دانم مشکل از کجاست که تا کنون فایلی از شما دریافت نکردم.
      فایل خود را در جایی آپلود کنید و لینک آنرا برای من در سایت قرار دهید.
  8. ضمن عرض سلام و ارادت

    یک نسخه از فرم مورد نظر را lمجدداً در تاریخ 1395/04/10 با موضوع راهنمایی در رابطه با انتقال جدول ورد به اکسل به آدرس داده شده ایمیل نمودم لطفاً راهنمایی بفرمائید.

    کمال تشکر و امتنان را دارم

    • پاسخ:

      سلام
      عرض کردم که من ایمیلی در تاریخ 95/4/110 دریافت نکردم لطفا دوباره ارسال کنید.
      tarfandha.blog@gmail.com
  9. ضمن عرض سلام و ارادت

    یک نسخه از فرم مورد نظر را در تاریخ 1395/04/10 با موضوع راهنمایی در رابطه با انتقال جدول ورد به اکسل به آدرس داده شده ایمیل نمودم لطفاً راهنمایی بفرمائید.

    کمال تشکر و امتنان را دارم

    • پاسخ:

      سلام
      من ایمیلی دریافت نکردم لطفا دوباره ارسال کنید.
      tarfandha.blog@gmail.com
  10. ضمن عرض سلام و اردادت ،

    فرم مورد نظر که قصد انتقال آن را به اکسل دارم بشرح ذیل می­باشد و در برخی مواقع نیز تعداد ستون­ها و یا ردیف­های آن بیش از جدول زیر می­باشد . در انتقال بصورت دستی ( کپی ، پیست) تاریخ­های مورد نظر بصورت برعکس وتاریخ میلادی نمایش داده می­شود .

    ردیف

    نام

    • پاسخ:

      فایل خود را از طریق ایمیل برای من ارسال کنید.
      tarfandha.blog@gmail.com
  11. ضمن عرض سلام  وخسته نباشید ؛

    کدهای مورد نظر برای اینکه بتوانم جداول ورود را عینا با حفظ فونت و بدون هیچ گونه جابجایی سلول‌ها به اکسل منتقل نمایم را از سایت معرفی شده دریافت نمودم ولیکن به هنگام اجرام پیام زیر نمایش داده می شود لطفاَ راهنمایی بفرمایید

    Compile error:

    ]Invalid outside procedure

    • پاسخ:

      سلام
      یک نمونه از فایل ورد خود را همراه با توضیحات برای من ارسال کنید.
  12. سلام

    ضمن عرض ارادت و خسته نباشید

    لطفاً راهنمایی بفرمائید آدرس دهی ورد  مدنظر را  درکدهای مورد نظر چگونه انجام دهم 

    • پاسخ:

      سلام
      در کد اول باید درون کد که با رنگ زرد مشخص شده است آدرس را وارد کنید.
      در کد دوم پس از اجرای کد، پنجره‌ای باز می‌شود که در آن باید مکان پوشه‌ی فایل‌های ورد را مشخص کنید.
      موفق باشید.

  13. سلام علیکم

    بابت کدهای مفید و کاربردی بالا متشکرم

     در صورت امکان کدهایی که بتوان جداول ورود را بتوان عینا با حفظ فونت و بدون هیچ گونه جابجایی سلول‌ها به اکسل منتقل نمود را نیز بگذارید  کمال تشکر وامتنان را دارم

    • پاسخ:

      سلام
      در انتهای حالت اول، تصویری قرار دارد که در متن بالای آن به سایتی اشاره شده است که کد مدنظر شما در آن سایت وجود دارد.
      موفق باشید.
  14. نوشتن یک متن با اعداد فارسی در یک مسیر نموداری درورد یا اکسل ؟
    اعداد نمودار ها رو تونستم با کد فارسی کنم ولی وقتی توضیحی واسه نمواد در زیرش مینویسم اعداد فارسی نمیشه و نمیشه روش کد دهی رو هم اعمال کرد چون گزینه ای واسه این کار نداره. راه جل جچیست ؟
    • پاسخ:

      سلام
      ظاهرا چنین امکانی وجود ندارد. باید با رسم یک تکس باکس متن همراه با اعداد فارسی را اضافه کنید.
      لطفا از این پس سوالتان را در صفحه مربوط با سوال مطراح کنید.
      موفق باشید.
  15. سلام مجدد
    چطور میشه بهش گفت که بعد از علامت موردنظر خط بعدیش رو هم بیاره توی اکسل؟
    تشکر فراوان
    • پاسخ:

      به حالت دوم مطلب بالا مراجعه کنید.
  16. سلام مجدد
    فرض کنید ما نمی دونیم که یه جدول چندمین جدول هست مثلا رونوشت های یک نامه که آخزین جدول هست و معلوم نیست که در فایلهای ما چند جدول وجود دارد چطور میشه بهش گفت بره روی آخرین جدول و این کارو انجام بده؟
    باتشکر
    • پاسخ:

      سلام
      در نکته ۲ حالت اول در مطلب بالا، به نحوه استخراج آخرین جدول اشاره شده است.
      از کد زیر نیز می‌توانید استفاده کنید.

      Sub CopyTables1()
      vFiles = Application.GetOpenFilename("Word files (*.doc*),*.doc*", Title:="Please select the files you want to copy from", MultiSelect:=True)
      If TypeName(vFiles) = "Boolean" Then Exit Sub ' Cancelled
      Set appWord = CreateObject("Word.Application")
      On Error GoTo emergencyexit
      For Each Filename In vFiles
          Set docWord = Nothing
          Set docWord = appWord.Documents.Open(Filename)
          If Not docWord Is Nothing Then
              docWord.tables(docWord.tables.Count).Select
              appWord.Selection.Copy
              ActiveSheet.Paste
              docWord.Close
              ActiveSheet.UsedRange.Offset(ActiveSheet.UsedRange.Rows.Count).Resize(1, 1).Select
          End If
      Next
      emergencyexit:
      appWord.Quit
      End Sub


      پس از اجرای کد مطابق آموزش مطلب بالا، پنجره‌ای ظاهر می‌شود که باید فایل‌های مدنظرتان را انتخاب کنید تا کد اجرا شود.
      منبع: vbacodesamples.blogspot.com
      موفق باشید.

ارسال نظر

قبل از ارسال نظر به نکات زیر توجه کنید:

۱- با توجه با اینکه نظرات خصوصی شما امکان نمایش در سایت را ندارد، بنابراین هنگام ارسال نظر، گزینه "" را انتخاب نکنید. چون تنها راه پاسخگویی به آن از طریق ایمیل شما است که با توجه به مشغله کاری فرصت ارسال پاسخ از طریق ایمیل وجود ندارد.

۲- قبل از مطرح کردن سوالتان، مطلب فوق را با دقت مطالعه کنید. اگر پاسخ سوالتان را پیدا نکردید در سایت جستجو کنید، ممکن است در مطلب دیگر پاسخ سوالتان را پیدا کنید.

۳- تنها به سوالاتی پاسخ داده می‌شود که از نحوه حل آن‌ها اطلاع داشته باشم.

۴- نظراتی با مضمون زیر، صرفا تایید و نمایش داده می‌شود و به آن‌ها پاسخی داده نمی‌شود.

الف) در مورد پاسخ سوال شما اطلاعی نداشته باشم،

ب) پاسخ سوال شما در مطلب فوق وجود داشته باشد.

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی