ویژگی شیء Workbook | تغییر ویژگی های کاربرگ با VBA

ویژگی های (خواص) یک شیء صفاتی است که آن شیء را توصیف می نماید. بعنوان مثال صفات یک میوه می تواند شامل نام، رنگ و مزه آن باشد. شیء Workbook اکسل نیز ویژگی های دارد که می توانیم با استفاده از VBA مقدار آن ها را تعیین یا دریافت نماییم.

مدت زمان تخمینی مطالعه: 6 دقیقه

آیا می‌دانید:

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

فهرست موضوعی

دریافت صفحه فعال اکسل با استفاده از VBA و ماکرو
نحوه دریافت نام نرم افزار آفیس با VBA
دریافت قالب فایل اکسل با استفاده از VBA
ذخیره فایل اکسل با قالب جدید در VBA
دریافت مسیر کامل فایل اکسل در VBA
افزودن نام جدید به Name Manager اکسل با استفاده از VBA
تنظیم رمز عبور برای باز کردن کاربرگ اکسل با VBA
دریافت پوشه ای که فایل اکسل در آن ذخیره شده است در VBA
تشخیص ذخیره شدن یا نشدن فایل اکسل با ماکرو و VBA
افزودن صفحه جدید به کاربرگ با استفاده از VBA
افزودن صفحه جدید قبل از آخرین صفحه کاربرگ اکسل با VBA
افزودن صفحه جدید بعد از آخرین صفحه کاربرگ با VBA

مهمترین ویژگی های شیء Workbook اکسل

ویژگی ActiveSheet شیء Workbook

ویژگی ActiveSheet نماینده صفحه فعال در کاربرگ فعلی یا کاربرگ موردنظر می باشد. ActiveSheet یک ویژگی فقط خواندنی (read-only) می باشد و بنابراین تعیین مقدار برای آن باعث ایجاد خطای کامپایلر خواهد شد.

expression.ActiveSheet
  • expression یک متغیر شیء است که اشاره به یک کاربرگ دارد.
  • مقدار بازگشتی ویژگی ActiveSheet یک متغیر شیء از نوع Worksheet می باشد و بنابراین تمامی متدها و ویژگی های آن را در برخواهد داشت. 1
  • اگر ActiveSheet بدون شیء توصیف کننده آن (qualifier) استفاده شود. مقدار بازگشتی آن صفحه فعال در کاربرگ فعال اکسل خواهد بود.

مثال

  1. کد زیر نام صفحه فعال کاربرگ فعلی اکسل را در پنجره پیغام نمایش می دهد. توجه داشته باشید که ویژگی Name مربوط به شیء صفحه (ActiveSheet) می باشد نه شیء کاربرگ (ThisWorkbook).
MsgBox "The name of the active sheet is " & ThisWorkbook.ActiveSheet.Name
  1. کد زیر صفحه فعال کاربرگ فعال اکسل را مخفی می نماید.
ActiveSheet.Visible = False

ویژگی Application شیء Workbook

ویژگی Application یک ویژگی فقط خواندنی می باشد که اگر بدون شیء توصیف کننده آن (qualifier) استفاده شود، نمایانگر برنامه کاربردی اکسل (Microsoft Excel application) خواهد بود. و اگر با شیء توصیف کننده استفاده شود نمایانگر برنامه کاربردی خواهد بود که شیء توصیف کننده را ایجاد کرده است.

expression.Application
  • expression یک متغیر شیء است که اشاره به یک کاربرگ دارد.
  • مقدار بازگشتی ویژگی یک متغیر شیء از نوع Application می باشد و بنابراین تمامی متدها و ویژگی های آن را در برخواهد داشت. 2

مثال

کد زیر نام برنامه کاربردی که شیء کاربرگ فعلی اکسل (متغیر myObject) را ایجاد کرده است را در پنجره پیغام نمایش می دهد.

Set myObject = ActiveWorkbook 
If myObject.Application.Value = "Microsoft Excel" Then 
   MsgBox "This is an Excel Application object." 
Else 
   MsgBox "This is not an Excel Application object." 
End If

ویژگی FileFormat شیء Workbook

ویژگی FileFormat یک ویژگی فقط خواندنی می باشد. لیست مقادیری که این ویژگی می تواند داشته باشد را در این صفحه می توانید مشاهده نمایید.

expression.FileFormat
  • expression یک متغیر شیء است که اشاره به یک کاربرگ دارد.

مثال

در کد زیر اگر قالب فایل کاربرگ فعلی اکسل 97 یا 95 باشد، نسخه جدیدی از آن با پسوند xlsx ذخیره خواهد کرد.

If ActiveWorkbook.FileFormat = xlExcel9795 Then 
   ActiveWorkbook.SaveAs fileFormat:=xlOpenXMLStrictWorkbook 
End If

ویژگی FullName شیء Workbook

ویژگی FullName یک ویژگی فقط خواندنی است که مسیر کامل و نام فایل کاربرگ را در خود ذخیره می نماید.

expression.FullName
  • expression یک متغیر شیء است که اشاره به یک کاربرگ دارد.

مثال

کد زیر مسیر کامل و نام فایل کاربرگ فعلی را در پنجره پیغام نمایش می دهد.

MsgBox ActiveWorkbook.FullName

ویژگی Names شیء Workbook

ویژگی Names یک ویژگی فقط خواندنی است و یک مجموعه شامل تمام نام های ذخیره شده در کاربرگ اکسل (شامل همه صفحات) می باشد. مجموعه نام ها یک شیء اکسل است که در این صفحه می توانید تمام ویژگی ها و متدهای آن را مشاهده نمایید.

expression.Names
  • expression یک متغیر شیء است که اشاره به یک کاربرگ دارد.

مثال

کد زیر یک نام جدید برای کاربرگ فعلی ایجاد می نماید. نام جدید بیانگر محدوده A1:E1 خواهد بود و در پنجره Name Manager در سربرگ Formulas قابل مشاهده خواهد بود.

ActiveWorkbook.Names.Add Name:="myName", RefersToR1C1:="=sheet1!R1C1:R1C5"

کد زیر مقدار اولین سلول در محدوده نامی myName را در پنجره پیغام نمایش خواهد داد.

MsgBox ActiveWorkbook.Names("myName").RefersToRange(1, 1).Value

ویژگی Password شیء Workbook

ویژگی Password یک ویژگی خواندنی و نوشتنی است و رمز عبوری را که برای باز نمودن کاربرگ لازم است را در خود ذخیره می نماید.

expression.Password
  • expression یک متغیر شیء است که اشاره به یک کاربرگ دارد.

مثال

  1. کد زیر یک برای کاربرگ فعلی یک رمز عبور تعیین می نماید. دفعه بعدی که بخواهید کاربرگ را باز نمایید باید رمز عبور (123) را وارد نمایید.
ActiveWorkbook.Password = "123"

برای حذف رمز عبور می توانید کد زیر را اجرا نمایید.

ActiveWorkbook.Password = ""
  1. کد زیر کاربرگ Password.xlsx را که در درایو C ذخیره شده است را باز می نماید و کلمه عبور موردنظر کاربر را از طریق پنجره InputBox دریافت می نماید و سپس کاربرگ را می بندد. دفعه بعدی که کاربر بخواهد کاربرگ را باز کند باید رمز عبوری را که تعیین شده است را وارد نماید.
Dim wb As Workbook 
 
Set wb = Application.Workbooks.Open("C:\Password.xlsx") 
 
wb.Password = InputBox ("رمز عبور موردنظرتان را وارد نمایید") 
wb.Close

ویژگی Path شیء Workbook

ویژگی Path یک ویژگی فقط خواندنی است که مسیر کاربرگ یا فایلی که نماینده شیء Workbook می باشد را در خود نگهداری می نماید.

expression.Path
  • expression یک متغیر شیء است که اشاره به یک کاربرگ دارد.

مثال

  1. کد زیر مسیر پوشه ای که فایل کاربرگ فعال اکسل در آن ذخیره شده است را در پنجره پیغام نمایش می دهد.
MsgBox ActiveWorkbook.Path

ویژگی Saved شیء Workbook

ویژگی Saved یک مقدار Boolean (true/false) را در خود ذخیره می نماید که اگر True باشد بیانگر این است که تغییر جدیدی از زمان آخرین تغییرات ذخیره شده در کابرگ اعمال نشده است. این ویژگی هم خواندنی و هم نوشتنی می باشد.

expression.Saved
  • expression یک متغیر شیء است که اشاره به یک کاربرگ دارد.

مثال

کد زیر اگر تغییرات ذخیره نشده ای در کاربرگ وجود داشته باشد به کاربر پیغام خواهد داد.

If Not ActiveWorkbook.Saved Then 
   MsgBox "تغییرات ذخیره نشده ای در کاربرگ وجود دارد" 
End If

ویژگی Sheets شیء Workbook

ویژگی Worksheets شیء Workbook

ویژگی های Sheets و Worksheets مجموعه Sheets را که بیانگر همه صفحاتی که کاربرگ وجود دارد را برمی گردانند. مجموعه Sheets خودش یک شیء است که مدیریت همه صفحاتی که در کاربرگ فعال یا یک کاربرگ خاص وجود دارد را برعهده دارد. کلیه ویژگی ها و متدهای شیء Sheets را می توانید در این صفحه مشاهده نمایید.

expression.Sheets
  • expression یک متغیر شیء است که اشاره به یک کاربرگ دارد.
  • اگر این دو ویژگی بدون شیء توصیف کننده آن (qualifier) یعنی بصورت Sheets استفاده شود، معادل ActiveWorkbook.Sheets خواهد بود.

مثال

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

ActiveWorkbook.Sheets.Add

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

ActiveWorkbook.Sheets.Add Before:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)

ActiveWorkbook.Worksheets.Count در کد بالا تعداد صفحات کاربرگ فعال اکسل را برمی گرداند. بعنوان مثال اگر کاربرگ اکسل 3 صفحه داشته باشد مقدار ActiveWorkbook.Worksheets.Count نیز 3 خواهد بود. بنابراین کد به این صورت خواهد شد:

ActiveWorkbook.Sheets.Add Before:=ActiveWorkbook.Worksheets(3)

این کد به این معناست که در کابرگ فعال اکسل یک صفحه جدید، قبل از سومین صفحه آن (Before:=ActiveWorkbook.Worksheets(3)) اضافه کن.

اگر بخواهید همین صفحه بعد از آخرین صفحه اضافه شود کافیست بجای آرگومان Before از آرگومان After استفاده نمایید.

ActiveWorkbook.Sheets.Add After:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)

این پست دارای 2 نظر است

  1. جلالی

    با درود بیکران و سپاس تام – زحمات و محبتهایتان را بخاطر آمزشهایتان قدر دانسته و دست بوستان هستم و برایتان بهترینها را آرزومندم ، پویا ، پایدار و پیروز باشید

    1. صادق آب‌شناس
      صادق آب‌شناس

      ضمن تشکر از ابراز لطف شما دوست عزیز، برای شما آرزوی سربلندی و موفقیت دارم.

دیدگاهتان را بنویسید