• DİKKAT

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

Excel 2007'de workbook.add ile ".XLS" uzantili kitap açma

  • Konbuyu başlatan Konbuyu başlatan abmurat
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Mayıs 2006
Mesajlar
2
Merhaba Arkadaşlar,
Excel 2007 surumunde makrolar içeren bir calisma Kitabım var.Bu calisma kitabi orijinalinde 2003 ile yapilmisti.
Bazi makrolarda " Workbooks.add" komutu ile yeni bir kitap açılıp, makro kitabında bulunan bazı sayfalar copy-paste ile bu yeni açılan kitaba tasinmakta daha sonra c:\ icinde bir klasore ".xls" uzantisyla kaydedilmektedir.
Ancak "workbooks.add " komutuyla acilan yeni kitap ".XLSX" uzantiyla acildigindan paste yapildiginda sayfa duzeninde sorun cikmaktadir


sub finish ()
Workbooks.add
end sub

Workbook.Add komutuyla ".XLS" (2003 uzantili) excel sayfasi acmak mumkunmudur ? Workbook.Add yerine ".XLS" uzantili yeni kitap acabilecegim baska komut varmidir ?

Yardimlariniz icin pesinen tesekkurler.
 
. . .

Merhaba.

Kodlarda değişiklik yapmadan şu şekilde çözülebilir.
  • Sol üst köşedeki Excel logosunu tıkla.
  • Excel seçenekler, Kaydet sekmesini tıkla.

Aşağıdaki resmi inceleyerek, kırmızı kutular ile belirttiğim şekilde ayarlarını değiştir.
. . .
attachment.php
 

Ekli dosyalar

  • 1_01.jpg
    1_01.jpg
    88.5 KB · Görüntüleme: 52
makro ile yapılmak istenirse:

Kod:
Sub Save_2007_WorkSheet_As_97_2003_Workbook()
'http://www.rondebruin.nl/checkcompatibility.htm

'Avoid CheckCompatibility dialog when you copy a WorkSheet
'from a 2007-2010 file with compatibility issues to a new
'workbook and save this workbook as a 97-2003 workbook

    Dim Destwb As Workbook
    Dim SaveFormat As Long
    Dim TempFilePath As String
    Dim TempFileName As String

    'Mevcut dosya formatını hafızaya al (Remember the users setting)
    SaveFormat = Application.DefaultSaveFormat
    '97-2003 olarak değiştir (Set it to the 97-2003 file format)
    Application.DefaultSaveFormat = 56

    ActiveSheet.Copy 'içinde bulunula sheet'i kopyala ki, bu komut yeni dosya açar
    Set Destwb = ActiveWorkbook 'yeni açılan kitabı değişkene ata
    Destwb.CheckCompatibility = False 'kitapta uyumluluk kontrolünü devre dışı bırak

    'yeni kitabı kaydet ve kapat (Save the new workbook and close it)
    'bu kodları ihtiyaca göre düzeltmek lazım veya mevcut kodlarınız
    TempFilePath = Application.DefaultFilePath & "\"
    TempFileName = "Excel 97-2003 WorkBook " & Format(Now, "yyyy-mm-dd hh-mm-ss")

    With Destwb
        .SaveAs TempFilePath & TempFileName & ".xls", FileFormat:=56
        .Close SaveChanges:=False
    End With

    'mevcut formata geri dön (Set DefaultSaveFormat back to the users setting)
    Application.DefaultSaveFormat = SaveFormat

    'kaydedilen yeni dosyanın klasörünü gösteren mesaj
    MsgBox "You can find the file in " & Application.DefaultFilePath

End Sub
 
Geri
Üst