• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Çalışma Kitabı Gizli İken Başka Bir Excel Dosyası Açmak İçin

Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Merhaba, Excel çalışma kitabım açılır açılmaz gizleniyor ve userform açılıyor buraya kadar herşey normal. Fakat, userforma bağlı excelim gizli olduğu için kayıtlı bir excel dosyası açamıyorum. Yeni bir excel dosyası açmak sadece şu şekilde mümkün olabiliyor;
1-Görev çubuğu başlat komutundan yeni bir excel aç 2-Açılan excelin dosya menüsünden AÇ komutu ile kayıtlı olan excel seç ve aç

ÖRNEK EKRAN GÖRÜNTÜSÜ - 1
ÖRNEK EKRAN GÖRÜNTÜSÜ - 2

Ekran görüntülerinden daha net anlaşılacaktır. Burada yapmak istenilen 2 adımlı işlemi makro ile yapmak istiyorum. Günlerdir uğraşıyorum İnşallah çözümü vardır.
 
Merhaba.
Aşağıdaki iki yoldan biri ile dosya açabilirsiniz.

Kod:
Sub DosyaGezginiIleAc()
    Dim i As FileDialog
    Set i = Application.FileDialog(msoFileDialogFilePicker)
    
    
    '-------------------------------------
    i.Title = "Dosya seçiniz" 'Diyalog penceresi başlığı
    i.InitialFileName = "C:\" 'Diyalog penceresi açıldığında hangi klasörü göstersin? Kullanmazsanız varsayılan klasörü açar.
    i.Filters.Clear 'Filitre kullanılmışsa öncekileri temizlemek gerekir.
    i.Filters.Add "Excel files", "*.xlsx" 'Filtre ekleniyor
    i.Filters.Add "All files", "*.xls" 'ikinci filre ekleniyor
    i.Filters.Add "All files", "*.*" 'üçüncü filtre ekleniyor.
    'İsterseniz bu seçeneler,mn hiçbirini belirtmeden direk diyalog penceresini açabilirsiniz.
    '-------------------------------------
    
    If i.Show = -1 Then
        Application.Workbooks.Open (i.SelectedItems(1))
    End If
End Sub

Sub DirekAc()
    Application.Workbooks.Open ("c:\Test.xlsx")
End Sub
 
Benim bilgisayarımda D sürücüsünde ofis 2007 sürümü yüklü C sürücüsünde ofis 2003 yüklü

xlsm uzantılı dosyada aşağıdaki kodu çalıştırdığımda xls uzantılı bir dosyayı açıyorum.

Kod:
Private Sub CommandButton1_Click()
Application.Visible = False
Dim oExcel As Object
Set oExcel = CreateObject("Excel.Application")
dosya = ThisWorkbook.Path & "\rapor.xls"
Set wb = oExcel.Workbooks.Open(dosya)
oExcel.Visible = True
End Sub
 
Merhaba.
Aşağıdaki iki yoldan biri ile dosya açabilirsiniz.

Kod:
Sub DosyaGezginiIleAc()
    Dim i As FileDialog
    Set i = Application.FileDialog(msoFileDialogFilePicker)
   
   
    '-------------------------------------
    i.Title = "Dosya seçiniz" 'Diyalog penceresi başlığı
    i.InitialFileName = "C:\" 'Diyalog penceresi açıldığında hangi klasörü göstersin? Kullanmazsanız varsayılan klasörü açar.
    i.Filters.Clear 'Filitre kullanılmışsa öncekileri temizlemek gerekir.
    i.Filters.Add "Excel files", "*.xlsx" 'Filtre ekleniyor
    i.Filters.Add "All files", "*.xls" 'ikinci filre ekleniyor
    i.Filters.Add "All files", "*.*" 'üçüncü filtre ekleniyor.
    'İsterseniz bu seçeneler,mn hiçbirini belirtmeden direk diyalog penceresini açabilirsiniz.
    '-------------------------------------
   
    If i.Show = -1 Then
        Application.Workbooks.Open (i.SelectedItems(1))
    End If
End Sub

Sub DirekAc()
    Application.Workbooks.Open ("c:\Test.xlsx")
End Sub
Sayın hocam ilgi ve alakanız için çok teşekkür ederim. Lakin, dediğiniz şekilde yapıyorum ama mevcuttaki excel gizli olduğu için açılan exceli'de gizli açıyor. Exceli bir butonla görünür yapıyorum bu defa da gizli olan excelide görünür yapıyor. Örnek bir dosya ekledim eminim ki örnek dosya da ne demek istediğimi anlayacaksınız. Saygılar.

ÖRNEK DOSYA
 
Sizin dediğinizi yapması için yukarıdaki mesajımda yazmıştım
1-D sürücüsünde ofis 2007 sürümü yüklü olmalı
2-C sürücüsünde ofis 2003 yüklü olmalı
 
Sizin dediğinizi yapması için yukarıdaki mesajımda yazmıştım
1-D sürücüsünde ofis 2007 sürümü yüklü olmalı
2-C sürücüsünde ofis 2003 yüklü olmalı
Sayın hocam kullanıcılar birden fazla ve her kullanıcı için bahsettiğiniz yönergeyi açıklamak ve teknik yardımda bulunmak çok zor olur. Bir başka yolu olmalı
 
Bunun başka yolu olmaz kullandığınız excell dosyasını gizlediğiniz (ofis 2007) de açık olan excell dosyalarının hepsi gizli kalır veya yeniden başka excell dosyası açarsanız gizli dosyaların hepsi görünür olur.
ofis 2003 de bu söyledikleriniz olur.
 
Son düzenleme:
Halit bey yukarıda verdiğiniz kodların iş görmesi için aynı bilgisayarda birden fazla Excel yüklü olması gerekmiyor.
Tek bir Excel yüklü olsa da çalışır.
Set oExcel = CreateObject("Excel.Application") satırı le zaten yeni bir Excel Applikation yaratılıyor.

oExcel.Visible = True satırı ile sadece bu yaratılan application ile açılan excel dosyaları gizleniyor.

Yalnız verdiğiniz kodlarda
Application.Visible = False Burada True olmalı. Aksi halde var olan application gizleniyor.

oExcel.Visible = True buradada False olmalı.

Kodların olması gerekn şekli aşağıdaki gibi olmalı.

Kod:
Private Sub CommandButton1_Click()
Application.Visible = true 'Yada bu satır silinebilir
Dim oExcel As Object
Set oExcel = CreateObject("Excel.Application")
dosya = ThisWorkbook.Path & "\rapor.xls"
Set wb = oExcel.Workbooks.Open(dosya)
oExcel.Visible = false
End Sub
 
Halit bey yukarıda verdiğiniz kodların iş görmesi için aynı bilgisayarda birden fazla Excel yüklü olması gerekmiyor.
Tek bir Excel yüklü olsa da çalışır.
Set oExcel = CreateObject("Excel.Application") satırı le zaten yeni bir Excel Applikation yaratılıyor.

oExcel.Visible = True satırı ile sadece bu yaratılan application ile açılan excel dosyaları gizleniyor.

Yalnız verdiğiniz kodlarda
Application.Visible = False Burada True olmalı. Aksi halde var olan application gizleniyor.

oExcel.Visible = True buradada False olmalı.

Kodların olması gerekn şekli aşağıdaki gibi olmalı.

Kod:
Private Sub CommandButton1_Click()
Application.Visible = true 'Yada bu satır silinebilir
Dim oExcel As Object
Set oExcel = CreateObject("Excel.Application")
dosya = ThisWorkbook.Path & "\rapor.xls"
Set wb = oExcel.Workbooks.Open(dosya)
oExcel.Visible = false
End Sub
Sayın hocam verdiğiniz kodlar yapmak istediğim şeyin %80'ini yerine getiriyor Ancak tek sorun açılacak olan dosyanın sabit olması. Açılacak olan dosyayı seçeceğimiz bir pencere olursa mükemmel olacak.
 
Benim bilgisayarımda D sürücüsünde ofis 2007 sürümü yüklü C sürücüsünde ofis 2003 yüklü

xlsm uzantılı dosyada aşağıdaki kodu çalıştırdığımda xls uzantılı bir dosyayı açıyorum.

Kod:
Private Sub CommandButton1_Click()
Application.Visible = False
Dim oExcel As Object
Set oExcel = CreateObject("Excel.Application")
dosya = ThisWorkbook.Path & "\rapor.xls"
Set wb = oExcel.Workbooks.Open(dosya)
oExcel.Visible = True
End Sub
Sayın hocam verdiğiniz kodlar yapmak istediğim şeyin %80'ini yerine getiriyor Ancak tek sorun açılacak olan dosyanın sabit olması. Açılacak olan dosyayı seçeceğimiz bir pencere olursa mükemmel olacak.
 
Halit bey yukarıda verdiğiniz kodların iş görmesi için aynı bilgisayarda birden fazla Excel yüklü olması gerekmiyor.
Tek bir Excel yüklü olsa da çalışır.
Set oExcel = CreateObject("Excel.Application") satırı le zaten yeni bir Excel Applikation yaratılıyor.

oExcel.Visible = True satırı ile sadece bu yaratılan application ile açılan excel dosyaları gizleniyor.

Yalnız verdiğiniz kodlarda
Application.Visible = False Burada True olmalı. Aksi halde var olan application gizleniyor.

oExcel.Visible = True buradada False olmalı.

Kodların olması gerekn şekli aşağıdaki gibi olmalı.

Kod:
Private Sub CommandButton1_Click()
Application.Visible = true 'Yada bu satır silinebilir
Dim oExcel As Object
Set oExcel = CreateObject("Excel.Application")
dosya = ThisWorkbook.Path & "\rapor.xls"
Set wb = oExcel.Workbooks.Open(dosya)
oExcel.Visible = false
End Sub

Merhaba Sayın dalgalikur
Kod:
Merhaba, Excel çalışma kitabım açılır açılmaz gizleniyor ve userform açılıyor buraya kadar herşey normal. Fakat, userforma bağlı excelim gizli olduğu için kayıtlı bir excel dosyası açamıyorum. Yeni bir excel dosyası açmak sadece şu şekilde mümkün olabiliyor;
1-Görev çubuğu başlat komutundan yeni bir excel aç 2-Açılan excelin dosya menüsünden AÇ komutu ile kayıtlı olan excel seç ve aç
1 nolu mesajda aktif dosya gizli kalacak başka dosya açıldığında gizli olmayıp görünür olacak diyor.

ofis 2003 de bu oluyor.
ancak ofis 2007 olmuyor.
belki ofis 20016 da olur bu durum.
o zaman bu bölümü
Set oExcel = CreateObject("Excel.Application")
böyle
Set oExcel = CreateObject("Excel.Application.16")
yapmak gerekiyor bir denemek lazım
 
Son düzenleme:
Sizin söylediğiniz yöntem aslında çok güzel ama iki ayrı excel yüklemeye gerek yok.
Bu durum versiyondan versiyona da değişmiyor.
Eğer verdiğiniz kodları word dosyasının VBa bölümüne yazarak çalıştırsanız her çalıştırdığınızda yeni bir App. yaratacağı için.
Her App. için ayrı ayrı visible=false ve True yapılabilir.
 
verdiğiniz kodlarla false-true değişiklik yaparak sonuca ulaştım çok çok teşekkür ederim.
 
Geri
Üst