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

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

هیچ راه بومی برای انجام این کار در Word وجود ندارد. در صورت تمایل می توانید یک ماکرو ایجاد کنید که دو کار زیر را انجام دهد:

  1. مسیر سند فعلی را بررسی کنید
  2. اگر مسیر چیزی جز مسیر سرور شما است، چاپ را ممنوع کنید

در اینجا یک نمونه از چنین ماکرو وجود دارد. شما باید این نسخه خاص را در ماژول ThisWorkbook قرار دهید. هر بار که کاربر چاپ را انتخاب می کند، به طور خودکار اجرا می شود.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim sFile As String

    sFile = "\Server.namefolderpathMy file name.xlsm"

    If ThisWorkbook.FullName <>  sFile Then
        MsgBox "Printing only possible with server copy"
        Cancel = True
    End If
End Sub

توجه داشته باشید که متغیر sFile به گونه ای تنظیم شده است که شامل مسیر کامل ورک بوک (به جایی که ورک بوک باید در سرور شرکت قرار گیرد) باشد. اگر نام ورک بوک فعلی با آن مطابقت نداشته باشد، چاپ غیرفعال است.

یک مشکل احتمالی در این نوع ماکرو وجود دارد و مربوط به مسیر فایل است. ممکن است مسیر سرور بر اساس کاربر به کاربر متفاوت باشد. مثال ماکرو مسیری را بررسی می کند که شامل UNC (کنوانسیون نام گذاری جهانی) باشد، اما ممکن است همه مسیرها به این شکل کار نکنند. به عنوان مثال، کاربران ممکن است پوشه روی سرور را به یک حرف درایو نگاشت کنند. در یک سیستم مسیر ممکن است g:/myserver/myfolder/ و در سیستم دیگر ممکن است z:/myserver/myfolder/ باشد. ماکرو نمی تواند به طور قابل اعتمادی این را جبران کند.

ممکن است بتوانید با یک رویکرد قطعاً با فناوری پایین از این موضوع دور شوید. ابتدا یک فایل متنی کوچک (که با Notepad ایجاد شده است) را در همان پوشه روی سرور قرار دهید که ورک بوک است. واقعاً مهم نیست که فایل متنی حاوی چه چیزی است. سپس، این ماکرو را به ماژول ThisWorkbook خود اضافه کنید:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim sPath As String
    Dim sFile As String

    sPath = ThisWorkbook.Path
    sFile = sPath & "" & "TestFile.txt"

    If Dir(sFile) = "" Then
        MsgBox "Printing only possible with server copy"
        Cancel = True
    End If
End Sub

کاری که ماکرو انجام می دهد تعیین مسیر ورک بوک باز فعلی است. سپس به نام فایل متنی کوچکی که در همان پوشه ورک بوک قرار داده اید اضافه می شود. (در این مورد، نام این فایل را TestFile.txt گذاشتم.) سپس از دستور Dir برای مشاهده وجود فایل استفاده می شود. اگر وجود نداشته باشد، چاپ لغو می شود.

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

https://support.office.com/en-us/article/information-rights-management-in-office-c7a70797-6b1e-493f-acf7-92a39b85e30c
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

82 نفر آنلاین
1 عضو و 81 مهمان در سایت حاضرند
اعضای حاضر در سایت
بازدید امروز: 3536
بازدید دیروز: 14408
بازدید کل: 15452456
...