Sayfayı excel versiyonuna göre kaydet, e-posta ile kayıt yerinin linkini gönder

Katılım
30 Eylül 2006
Mesajlar
8
Excel Vers. ve Dili
Excel2010 Türkçe
Çalıştığım iş yerinde yaptığım bir excel uygulamasının farklı office versiyonları için çalışmasını istiyorum. Buraya eklediğim uygulama User form üzerinin boş olan şeklidir.
Uygulama; çalışma kitabının belirli bir sayfasını ağ yolu ile belirli bir klasör içerisine makrosuz olarak kaydedilmesi ve sonrada bu kayıt yerini e-posta yolu ile belirli kişilere gönderilmesi şeklindedir. Office 97-2003 de çok güzel çalışmakta ve problem çıkmamaktadır. Fakat office 2007-2010 da ise hata vermektedir. Hata mesajını userform üzerine resim olarak koydum.
Amacım firmada farklı ofis versiyonlarında çalısan arkadaşların bu kitabı kullanırken kaydettikleri yeni kitabın makrosuz olarak tüm office versiyonlarında kaydedilmesi ve kullanılabilmesi.
Hatanın olduğu yere “on error resume next” yazdığımda office 2007- 2010 da çalışıyor ama kayıt yaparken dosya uzantısını yazmıyor.
Kısacası kitabı Office 97-2003 ile açan göndere bastığında “.xls” uzantılı, office 2007- 2010 ile açan göndere bastığında “.xlsx” şeklinde uzantılı olarak kaydetmesini nasıl yapabilirim. Yardımlarınız için şimdiden teşekkür ederim.
 

Ekli dosyalar

Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Versiyon kontrolü yaparak farklı kaydet seçeneğini kontrolünüze alabilirsiniz..:


Kod:
trz = CStr(Application.Version)
If trz = "12.0" Or trz = "14.0" Then
.SaveAs Fname, FileFormat:=51
Else
.SaveAs Fname, FileFormat:=FileFormatNum
End If
İlaveten diğer farklı kaydet seçenekleri şunlardır..:

51 = xlsx
52 = xlsm
50 = xlsb
56 = xls
 
Katılım
30 Eylül 2006
Mesajlar
8
Excel Vers. ve Dili
Excel2010 Türkçe
Merhaba..

Versiyon kontrolü yaparak farklı kaydet seçeneğini kontrolünüze alabilirsiniz..:


Kod:
trz = CStr(Application.Version)
If trz = "12.0" Or trz = "14.0" Then
.SaveAs Fname, FileFormat:=51
Else
.SaveAs Fname, FileFormat:=FileFormatNum
End If
İlaveten diğer farklı kaydet seçenekleri şunlardır..:

51 = xlsx
52 = xlsm
50 = xlsb
56 = xls
Merhaba, yardımınız için çok teşekkür ederim. Fakat çalışmadı gene aynı şekilde devam etti.

Bir arkadaşın tavsiyesi ile kodu
.SaveAs Fname, FileFormat:=FileFormatNum

yerine

.SaveAs Fname & FileExtStr

şeklinde değiştirdiğimde sorunum çözüldü.
 
Üst