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

ماکروها اغلب برای برش، تاس کردن، و در غیر این صورت پردازش اطلاعات موجود در کتاب‌های کار استفاده می‌شوند. البته این فرض بر این است که کتاب کاری که حاوی اطلاعات است واقعاً باز است. اگر اینطور نیست، پس واضح است که ماکرو شما باید کدی را برای باز کردن کتاب کار مورد نیاز داشته باشد.

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

یکی از راه‌های بسیار انعطاف‌پذیر برای بررسی باز بودن یک کتاب کار، استفاده از تابعی است که بررسی را انجام می‌دهد و سپس به سادگی یک مقدار TRUE یا FALSE را بر اساس باز بودن کتاب کار برمی‌گرداند. ماکرو کوتاه زیر این کار مختصر را انجام می دهد:

Function AlreadyOpen(sFname As String) As Boolean
    Dim wkb As Workbook
    On Error Resume Next
    Set wkb = Workbooks(sFname)
    AlreadyOpen = Not wkb Is Nothing
    Set wkb = Nothing
End Function

برای استفاده از تابع، کافی است نام کتاب کاری را که می خواهید بررسی کنید، به روش زیر ارسال کنید:

    sFilename = "MyFileName.xls"
    sPath = "C:MyFolderMySubFolder"
    If AlreadyOpen(sFilename) Then
        Do not have to open
    Else
        Workbooks.Open sPath & sFilename
    End If
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 34 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 138 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 40 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 36 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

135 نفر آنلاین
0 عضو و 135 مهمان در سایت حاضرند
بازدید امروز: 1045
بازدید دیروز: 25180
بازدید کل: 20338403
...