VBA Çalışma Kitabını Aç / Kapat

Bu öğreticide, Excel Çalışma Kitabını çeşitli şekillerde açıp kapatmak için VBA'yı nasıl kullanacağınızı öğreneceksiniz.

VBA, standart yöntemleri kullanarak dosyaları açmanıza veya kapatmanıza olanak tanır .Açık ve .Kapat.

Dosyayı açmaya çalışmadan önce bir dosyanın var olup olmadığını nasıl kontrol edeceğinizi öğrenmek istiyorsanız şu bağlantıya tıklayabilirsiniz: VBA Dosyası Var

VBA'da bir Çalışma Kitabı açın

Yoldan Çalışma Kitabını Aç

Hangi dosyayı açmak istediğinizi biliyorsanız, işlevde tam yol adını belirtebilirsiniz. İşte kod:

1 Workbooks.Open "C:\VBA Klasörü\Örnek dosya 1.xlsx"

Kodun bu satırı, “VBA Klasörü”nden “Örnek dosya 1” dosyasını açar.

Çalışma Kitabını Aç - ActiveWorkbook

Bir çalışma kitabını açtığınızda, otomatik olarak ActiveWorkbook olur. Yeni açılan çalışma kitabına şu şekilde başvurabilirsiniz:

1 ActiveWorkbook.Kaydet

Bir sayfaya veya aralığa başvurduğunuzda ve çalışma kitabı adını atladığınızda VBA, ActiveWorkbook'a başvurduğunuzu varsayacaktır:

1 Sayfalar("Sayfa1").Ad = "Giriş"

Çalışma Kitabını Açın ve Bir Değişkene Atayın

Ayrıca bir çalışma kitabını açabilir ve onu doğrudan bir nesne değişkenine atayabilirsiniz. Bu prosedür, kullanıcıya bir çalışma kitabı açacaktır. wb değişken ve ardından çalışma kitabını kaydedin.

123456 Alt OpenWorkbookToVariable()Çalışma Kitabı Olarak Dim wbSet wb = Workbooks.Open("C:\VBA Klasörü\Örnek dosya 1.xlsx")wb.KaydetAlt Bitiş

Çalışma kitaplarını açtıklarında değişkenlere atamak, çalışma kitaplarınızı takip etmenin en iyi yoludur

Çalışma Kitabı Dosya Aç İletişim Kutusu

Çalışma kitabı Dosya Aç İletişim kutusunu da tetikleyebilirsiniz. Bu, kullanıcının bir dosyaya gitmesini ve dosyayı açmasını sağlar:

12345678 Alt OpenWorkbook ()Dize Olarak Dim strFilestrFile = Application.GetOpenFilename()Workbooks.Open (strFile)Alt Bitiş

Resim 1'de görebileceğiniz gibi, bu yaklaşımla kullanıcılar hangi dosyayı açacaklarını seçebilirler. Dosya Aç İletişim Kutusu büyük ölçüde özelleştirilebilir. Belirli bir klasörü varsayılan olarak ayarlayabilir, hangi dosya türlerinin görüneceğini seçebilir (ör. yalnızca xlsx) ve daha fazlasını yapabilirsiniz. Ayrıntılı örnekler için Dosya Aç İletişim Kutusundaki eğiticimizi okuyun.

Yeni Çalışma Kitabını Aç

Bu kod satırı yeni bir çalışma kitabı açacaktır:

1 Çalışma kitapları.Ekle

Yeni Çalışma Kitabını Değişkene Aç

Bu prosedür yeni bir çalışma kitabı açacak ve onu wb değişkenine atayacaktır:

1234 Alt OpenNewWorkbook()Çalışma Kitabı Olarak Dim wbwb = Çalışma Kitaplarını ayarla.AddAlt Bitiş

Çalışma Kitabı Sözdizimini Aç

Workbooks.Open'ı kullandığınızda, çalışma kitabını açarken kullanılabilecek birçok seçenek olduğunu fark edebilirsiniz:

Dosya Adı gerekli. Diğer tüm argümanlar isteğe bağlıdır ve muhtemelen diğer argümanların çoğunu bilmenize gerek yoktur. İşte en yaygın ikisi:

Açık Çalışma Kitabı Salt Okunur

Çalışma kitabı salt okunur olarak açıldığında, orijinal dosyanın üzerine kaydedemezsiniz. Bu, dosyanın kullanıcı tarafından düzenlenmesini engeller.

1 Workbooks.Open "C:\VBA Klasörü\Örnek dosya 1.xlsx", , True

Parola Korumalı Çalışma Kitabını Açın

Bir çalışma kitabı parola korumalı olabilir. Parola korumalı çalışma kitabını açmak için bu kodu kullanın:

1 Workbooks.Open "C:\VBA Klasörü\Örnek dosya 1.xlsx", , , "parola"

Çalışma Kitabı Sözdizimi Notlarını Aç

Yukarıdaki resimde sözdizimini göstermek için bir parantez “(” eklediğimize dikkat edin. Çalışma Kitapları ile çalışırken parantez kullanırsanız.Aç, çalışma kitabını bir değişkene atamanız gerekir:

1234 Alt OpenWB()Çalışma Kitabı Olarak Dim wbSet wb = Workbooks.Open("C:\VBA Klasörü\Örnek dosya 1.xlsx", Doğru, Doğru)Alt Bitiş

VBA'da Bir Çalışma Kitabını Kapatın

Belirli Çalışma Kitabını Kapat

Bir çalışma kitabını açmaya benzer şekilde, bir dosyayı kapatmanın birkaç yolu vardır. Hangi dosyayı kapatmak istediğinizi biliyorsanız, aşağıdaki kodu kullanabilirsiniz:

1 Workbooks.Close ("C:\VBA Klasörü\Örnek dosya 1.xlsx")

Bu kod satırı, açılırsa “Örnek dosya 1” dosyasını kapatır. Değilse, bir hata döndürür, bu nedenle hata işlemeye dikkat etmelisiniz.

Etkin Çalışma Kitabını Kapat

Şu anda aktif olan Çalışma Kitabını kapatmak istiyorsanız, bu kod satırı bunu yapmanızı sağlayacaktır:

1 ActiveWorkbook.Kapat

Tüm Açık Çalışma Kitaplarını Kapat

Tüm açık Çalışma Kitaplarını kapatmak için bu kodu kullanabilirsiniz:

1 Çalışma kitapları.Kapat

İlk Açılan Çalışma Kitabını Kapat

Bu, ilk açılan/oluşturulan çalışma kitabını kapatacaktır:

1 Çalışma Kitapları(1).Kapat

Açılan / oluşturulan ikinci çalışma kitabını kapatmak için 1'i 2 ile değiştirin vb.

Kaydetmeden Kapat

Bu, bir Çalışma Kitabını kaydetmeden ve kaydetme istemini göstermeden kapatır:

1 ActiveWorkbook.Close savechanges:=Yanlış

Kaydet ve İstemsiz Kapat

Benzer şekilde bu, bir Çalışma Kitabını kaydetme istemini göstermeden kaydedecek ve kapatacaktır:

1 ActiveWorkbook.Close savechanges:=True

Not: Bir Çalışma Kitabını kaydedip kaydetmemeyi ve ayrıca bilgi istemlerini gösterip göstermemeyi belirtmenin başka yolları da vardır. Bu, burada daha ayrıntılı olarak tartışılmaktadır.

Diğer Çalışma Kitabı Açık Örnekleri

Birden Çok Yeni Çalışma Kitabı Aç

Bu prosedür, yeni çalışma kitaplarını bir diziye atayarak birden çok yeni çalışma kitabı açar:

12345678 Alt OpenMultipleNewWorkbooks()Dim arrWb(3) Çalışma Kitabı OlarakDim i Tamsayı Olaraki = 1 ila 3 içinarrWb(i) = Çalışma Kitapları olarak ayarlayın.Addsonraki benAlt Bitiş

Tüm Excel Çalışma Kitaplarını Bir Klasörde Açın

Bu prosedür, Dosya Aç İletişim Kutusu seçiciyi kullanarak bir klasördeki tüm Excel Çalışma Kitaplarını açacaktır.

12345678910111213141516 Sub OpenMultipleWorkbooksInFolder()Çalışma Kitabı Olarak Dim wbDim dlgFD As FileDialogDize Olarak Dim strFolderDim strFileName As StringdlgFD = Application.FileDialog(msoFileDialogFolderPicker) olarak ayarlayınEğer dlgFD.Show = -1 isestrFolder = dlgFD.SelectedItems(1) & Application.PathSeparatorstrFileName = Dir(strFolder & "*.xls*")strFileName "" sırasında yapınSet wb = Workbooks.Open(strFolder & strFileName)strFileName = DizinDöngüBitirAlt Bitiş

Bir Çalışma Kitabının Açık olup olmadığını kontrol edin

Bu prosedür, bir çalışma kitabının açık olup olmadığını test edecektir:

1234567891011 Alt TestByWorkbookName()Çalışma Kitabı Olarak Dim wbÇalışma Kitaplarında Her wb içinwb.Name = "Yeni Microsoft Excel Worksheet.xls" iseMsgBox "Buldum"Exit Sub 'çağrı kodu burada, şimdilik çıkacağızBitirSonrakiAlt Bitiş

Workbook_Open Etkinliği

VBA Olayları, VBA'ya belirli kodu çalıştırmasını söyleyen "tetikleyicilerdir". Açma, kapatma, kaydetmeden önce, kaydettikten sonra ve daha fazlası için çalışma kitabı olaylarını ayarlayabilirsiniz.

Bir çalışma kitabı açıldığında makroların otomatik olarak çalıştırılması hakkında daha fazla bilgi edinmek için Workbook_Open Event öğreticimizi okuyun.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave