ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
32 visibility
موضوع: آفیس توسط:

کریستین یک پوشه پر از فایل های DOC دارد که باید آنها را به فایل های DOCX تبدیل کند. او متعجب است که آیا راه سریعی برای تبدیل آنها بدون باز کردن و ذخیره هر یک به صورت جداگانه وجود دارد؟

مایکروسافت این قابلیت را در Word ارائه نمی کند و افزونه ای برای انجام تبدیل ارائه نمی دهد. با این حال، می توانید ماکرو خود را برای انجام تبدیل ایجاد کنید. یک رویکرد نسبتا ساده در اینجا نشان داده شده است:

Sub ConvertBatchToDOCX()
    Dim sSourcePath As String
    Dim sTargetPath As String
    Dim sDocName As String
    Dim docCurDoc As Document
    Dim sNewDocName As String

    " Looking in this path
    sSourcePath = "c:UsersAdministratorDesktopTesting"
    sTargetPath = "c:UsersAdministratorDesktopConverted"

   " Look for first DOC file
    sDocName = Dir(sSourcePath & "*.doc")
    Do While sDocName <> ""
        " Repeat as long as there are source files
        
        "Only work on files where right-most characters are ".doc"
        If Right(sDocName, 4) = ".doc" Then
            " Open file
            Set docCurDoc = Documents.Open(FileName:=sSourcePath & sDocName)

            sNewDocName = Replace(sDocName, ".doc", ".docx")

            With docCurDoc
                .SaveAs FileName:=sTargetPath & sNewDocName, _
                  FileFormat:=wdFormatDocumentDefault
                .Close SaveChanges:=wdDoNotSaveChanges
            End With
        End If
        " Get next source file name
        sDocName = Dir
    Loop
    MsgBox "Finished"
End Sub

برای استفاده از ماکرو، باید دو تغییر ایجاد کنید. ابتدا در متغیر sSourcePath مسیر کامل (به دنبال آن یک بک اسلش) به دایرکتوری حاوی فایل هایی که می خواهید تبدیل کنید را مشخص کنید. سپس در متغیر sTargetPath. ، مسیر کامل (با اسلش انتهایی) دایرکتوری که اسناد تبدیل شده باید در آن ذخیره شوند را مشخص کنید.

سپس ماکرو تمام فایل‌های DOC را که در دایرکتوری منبع پیدا می‌کند، مرور می‌کند، آن‌ها را باز می‌کند و به‌عنوان فایل‌های DOCX در فهرست هدف ذخیره می‌کند.

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

در نهایت، توجه داشته باشید که قلب ماکرو در ساختار If/Then قرار دارد که بررسی می‌کند تا مطمئن شود که 4 کاراکتر سمت راست نام فایل در واقع ".doc" هستند. این کار به دلیل رفتار نسبتاً تشدیدکننده تابع Dir در برخی از سیستم‌ها انجام می‌شود که در آن جستجوی الگوی "*.doc" به عنوان تطابق با هر نام فایلی که حاوی .doc است برمی‌گردد . این بدان معنی است که فایل هایی را که به .docx و .docm ختم می شوند را نیز برمی گرداند. بدیهی است که اینها نباید تبدیل شوند، بنابراین ساختار If / Then برای حذف آنها گنجانده شده است.

اگر ترجیح می دهید از ماکرو خود استفاده نکنید، راه حل های شخص ثالثی وجود دارد که می توانید استفاده کنید. صفحه زیر در سایت Graham Mayor دارای یک افزونه رایگان است که از جمله موارد دیگر، تبدیل سند را انجام می دهد:

http://www.gmayor.com/document_batch_processes.htm

ممکن است بتوانید سایر مبدل های مشابه را با جستجوی وب برای "مبدل doc docx" (بدون علامت نقل قول) پیدا کنید.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 100 visibility
ارسال شده در 27 آذر 1401 موضوع: شبکه های کامپیوتری توسط: بی نام
0 دوستدار 0 امتیاز منفی
0 پاسخ 37 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 22 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 21 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

213 نفر آنلاین
0 عضو و 213 مهمان در سایت حاضرند
بازدید امروز: 4159
بازدید دیروز: 25180
بازدید کل: 20341512
...