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

برای برخی از ماکروها ممکن است لازم باشد تعیین کنید آیا راهی برای تعیین ماشین خاصی که ماکرو روی آن کار می کند وجود دارد یا خیر. به عنوان مثال، ممکن است یک رایانه رومیزی داشته باشید که یک فهرست خاص در D:OraNTPlus33 دارد، در حالی که رایانه نوت بوک شما دایرکتوری در C:OraNTPlus33 دارد. البته ماکرو باید تشخیص دهد که کدام ماشین در حال استفاده است تا بداند از کدام دایرکتوری برای پردازش خود استفاده کند.

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

یک راه ساده تر این است که فقط از دستور VBAs DIR برای تعیین محل وجود دایرکتوری مورد نظر استفاده کنید. موارد زیر این کار را انجام خواهند داد:

Sub OracleQueries()
    Dim sTemp As String
    Dim sGoodPath As String

    sGoodPath = "D:OraNTPlus33"
    sTemp = Dir("D:OraNTPlus33
ul")
    If sTemp = "" Then
        sGoodPath = "C:OraNTPlus33"
        sTemp = Dir("C:OraNTPlus33
ul")
    End If

    Now have directory information
    If sTemp <> "" Then
        Process queries using sGoodPath
    Else
        MsgBox "Directories not found!"
    End If
End Sub

به نحوه استفاده از تابع DIR در این مثال توجه کنید. به طور معمول DIR نام اولین فایلی را که در دایرکتوری درخواستی پیدا می کند برمی گرداند. با این حال، اگر دایرکتوری خالی باشد، DIR یک رشته خالی را برمی گرداند - حتی اگر دایرکتوری واقعاً وجود داشته باشد. از آنجایی که تنها کاری که می خواهیم انجام دهیم این است که بفهمیم دایرکتوری وجود دارد یا نه (نه اینکه فایل هایی در آن وجود دارد)، لازم است که حروف "nul" را در انتهای مسیر دایرکتوری مورد استفاده توسط DIR اضافه کنیم. این باعث می شود که DIR یک رشته خالی را در صورتی که دایرکتوری قرار ندارد، برگرداند، یا اگر دایرکتوری وجود نداشته باشد، کاراکترهای "nul" را برمی گرداند (حتی اگر دایرکتوری خالی باشد).

در انتهای ماکرو، sTemp خالی خواهد بود اگر هیچ یک از دایرکتوری ها قرار نگیرد. اگر یکی از آنها قرار داشت، sTemp خالی نخواهد بود و sGoodPath روی نام دایرکتوری تنظیم می شود که می تواند در پردازش بیشتر استفاده شود.

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

پاسخ شما

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

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

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

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

613 دیدگاه

10.8k کاربر

192 نفر آنلاین
0 عضو و 192 مهمان در سایت حاضرند
بازدید امروز: 4736
بازدید دیروز: 13001
بازدید کل: 19459032
...